PK 'Aoa,mimetypeapplication/epub+zipPK'AiTunesMetadata.plistG artistName Oracle Corporation book-info cover-image-hash 177855136 cover-image-path OEBPS/dcommon/oracle-logo.jpg package-file-hash 387472880 publisher-unique-id E10581-04 unique-id 911621497 genre Oracle Documentation itemName Oracle® Warehouse Builder Concepts, 11g Release 2 (11.2) releaseDate 2011-09-21T18:09:15Z year 2011 PK}g_LGPK'AMETA-INF/container.xml PKYuPK'AOEBPS/deployexec.htm=: Deployment and Execution

9 Deployment and Execution

This section discusses the concepts of deploying design objects to a target schema, and executing the ETL logic defined in the deployed objects.

This section contains these topics:

About Deploying and Executing Design Objects

After you design your ETL and data quality processes, you deploy and execute the resulting design objects to implement the design in the target schema. The Control Center Manager provides a comprehensive deployment console for viewing and managing all aspects of deployment and execution. It provides access to the information stored in the active Control Center.

The following topics provide overviews of deploying and executing design objects:


See Also:

"Deploying to Target Schemas and Executing ETL Logic" in Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide.

Deployment Concepts

Deployment is the process of creating physical objects in a target location according to the logical objects in an Oracle Warehouse Builder workspace.

For example, when you create a table using the Design Center, the metadata for this table is stored in the workspace. If the table described in your design does not exist in the database schema referenced by the specified location, then you must create the table by deploying it. Similarly, after you design a PL/SQL mapping, you must generate code for it (which creates a PL/SQL package implementing the mapping logic), then deploy the generated code to the specified location, which loads the generated PL/SQL package to the referenced schema. You can deploy objects from within the Design Center, or use the Control Center Manager. You can also use OMB*Plus commands to deploy objects.

As soon as you define a new object in the Design Center, the object is listed in the Control Center Manager under its deployment location.

Deploying a mapping or a process flow includes these steps:

  • Generate the PL/SQL, SQL*Loader, or ABAP script, if necessary.

  • Register the required locations and deploy any required connectors. This ensures that the details of the physical locations and their connectors are available at run time.

  • Transfer the PL/SQL, XPDL, SQL*Loader, or ABAP script from the Design Center to the Control Center. (XPDL refers to XML Process Definition Language, a format standardized by the Workflow Management Coalition.)


Note:

  • After deploying a mapping or a process flow, you must explicitly start the scripts, as described in "Starting ETL Jobs" Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide.

  • Workspace users can deploy only those objects for which they have the COMPILE privilege. By default, his privilege is granted on all objects in the workspace. However, the workspace owner may have instituted a different security policy.


Deployment Status: Viewing Results

After you deploy an object, Oracle Warehouse Builder assigns a deployment status to it. You can view the deployment status in the Control Center Manager.

The status represents the result of the deployment as follows:

  • Not Deployed: Indicates that the object has not yet been deployed to the target schema.

  • Success: Indicates that the object has been successfully deployed to the target schema.

  • Warning: Indicates that some warnings were generated during the deployment of the object. Double-click the status to view details about the warning.

  • Failed: Indicates that deployment of the object failed. Double-click the job in the Control Center jobs window to view information about why the deployment failed. The Job Log in the Design Center also captures details that you can view.

About Executing Design Objects

Execution is the process of starting the ETL logic defined in the deployed objects. For example, you define a mapping that sources data from a table, performs transformations on the source data, and loads it into the target table. When you deploy this mapping, the PL/SQL code generated for this mapping is stored in the target schema. When you execute this mapping, the job for the ETL logic is started and the data is picked up from the source table, transformed, and loaded into the target table.

Overview of Deployment and Execution Procedures

During the lifecycle of a data system, you typically takes these steps in the deployment process to create your system and perform the execution process to move data into your system:

Step 1   Select a named configuration

The Control Center for the selected configuration specifies the execution environment for the objects.

Step 2   Deploy objects to the target location

You can deploy them individually, in stages, or all.

Step 3   Review the results of the deployment

If an object fails to deploy, then fix the problem and try again.

Step 4   Start the ETL process for the target location

Execute the mappings or process flows that contain the ETL logic for the objects.

Step 5   Revise the design of target objects, if needed

Accommodate user requests, changes to the source data, and so forth.

Step 6   Set the deployment action

Set the modified objects to Upgrade or Replace.

Runtime Auditing for Deployments and Executions

Whenever you deploy and execute a design object, auditing information is generated and stored for you to view and manage.

The auditing information is specific to the type of object:

You view and manage the audit information through these methods:


See Also:

"Auditing Deployments and Executions" in Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide

About Scheduling Design Objects to Execute

Oracle Warehouse Builder provides these scheduling options:

Integration with Third-party Schedulers

Integration with third-party schedulers depends on the features of the third party scheduler. For example, mappings and process flows in Oracle Warehouse Builder are PL/SQL packages, and if there is a way in a third party scheduler to invoke a PL/SQL package, then refer to the documentation for that third party scheduler. You can also expose a mapping or a process flow as a Web Service if you are using a product like Oracle BPEL that can invoke Web services as part of orchestrating complex processes.

PK==PK'AOEBPS/cover.htmO Cover

Oracle Corporation

PK[pTOPK'AOEBPS/whatsnew.htm What's New in Oracle Warehouse Builder

1 What's New in Oracle Warehouse Builder

This section summarizes the new high-value features in Oracle Warehouse Builder for this release.

This section contains the following topics:

New Feature Highlights for Oracle Warehouse Builder 11g Release 2 (11.2)

While the new features of Oracle Warehouse Builder for this release cover multiple areas, significant changes for new and existing customers are:


Note:

Go to the detailed sections under "Complete New Feature List for Oracle Warehouse Builder 11g Release 2 (11.2)" for links to the relevant documentation.

Numerous smaller changes and improvements have been made throughout the product and, therefore, this list is not intended to be exhaustive.


New Features by Group for Oracle Warehouse Builder 11g Release 2 (11.2)

The major new features in Oracle Warehouse Builder for this release can be grouped into the following categories:

Native Support for Heterogeneous Databases

Oracle Warehouse Builder now provides extensive built-in support for non-Oracle databases. JDBC connectivity is added alongside previous support for ODBC and database gateways, and Oracle Warehouse Builder now supports in-database ELT operations on non-Oracle databases. Other enhancements improve access to data from non-Oracle sources such as mainframe and flat file data.

Features in this area include:

SOA Integration Enhancements for ETL and Data Quality

The ETL and data quality functionality in Oracle Warehouse Builder can now be integrated into SOA-style architectures.

Features in this area include:

Data Warehousing and Business Intelligence Enhancements

The data warehousing-specific support in Oracle Warehouse Builder has improved. These improvements provide smarter dimensional object operators for ETL and support for more storage types for dimensional objects.

Features in this area include:

Administrator Usability Enhancements

Oracle Warehouse Builder administration tasks are simplified and improved by multiple features in this release. Administration has been extended to support new feature areas such as heterogeneous database support and Web services integration.

Features in this area include:

ETL Mapping Enhancements

ETL mappings have been enhanced to add new transformation capabilities and to improve the productivity of developers working with flat files and designing and debugging ETL mappings.

Features in this area include:

Process Flow Enhancements

Oracle Warehouse Builder process flows have been enhanced to integrate with new activity types, out of the box, and to support integration of Oracle Warehouse Builder ETL and data quality with SOA solutions.

Features that enhance process flows include:

Complete New Feature List for Oracle Warehouse Builder 11g Release 2 (11.2)

This section provides detailed descriptions of all major new features in Oracle Warehouse Builder for this release.

Advanced Find Support in Mapping Editor

The Mapping Editor has been enhanced with advanced find capabilities to help locate and constitute dates to operators, groups, and attributes in a mapping diagram, in the Available Objects tab, and in the Selected Objects tab.

This feature enhances extraction, transformation, and loading (ETL) mapping developer productivity, especially on large and complex mappings and, for example, when working with complex data sources with large numbers of tables, views, or columns.


See Also:

"Overview of the Mapping Editor" in Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide

Oracle Business Intelligence Enterprise Edition Integration

Oracle Warehouse Builder now supports integration with Oracle Business Intelligence Suite Enterprise Edition (OBI EE). This integration includes:

  • Derivation of ready-to-use physical, business model and presentation layer metadata for OBI EE from a data warehouse design

  • Visualization and maintenance of the derived objects from within Oracle Warehouse Builder

  • Deployment of the derived objects in the form of an RPD file that can be loaded into OBI EE.

  • Inclusion of the derived objects in Oracle Warehouse Builder data lineage and impact analysis, such that data lineage of objects in OBI EE reports can be traced down to the individual column level.

OLAP Cube-Organized Materialized Views Support

Oracle Warehouse Builder now supports OLAP cube storage in cube-organized materialized views. This brings the performance advantages of such storage to users of Oracle Warehouse Builder data warehouse design.

Code Template Mappings and JDBC Connectivity Support

The new Code Template-based mapping framework enables implementation of data integration techniques and patterns for integration of content from non-Oracle databases with maximum performance and flexibility.

JDBC connectivity supports a wide variety of sources. Additionally, Oracle-supplied or user-developed Code Templates can use other native data integration techniques, such as bulk unloads and loads, for maximum performance on any platform.

Code Template mappings bring heterogeneous data integration support to the familiar flow-based data integration mapping paradigm that leverages existing developer skills with Oracle Warehouse Builder. Code Template mappings that load Oracle targets still support the full range of transformation capabilities available in other Oracle Warehouse Builder mappings.


See Also:


Copy and Paste of Operators and Attributes in Mapping Editor

In the mapping editor, users can now copy and paste operators within a mapping or across mappings, including attribute settings.

This enhancement saves time and reduces errors in the development of complex ETL mappings that reuse common or similar elements.


See Also:

"Copying Operators Across Mappings and Pluggable Mappings" in Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide

Current Configuration Drop-down Box in Design Center Toolbar

In the Design Center, there is now a drop-down box that displays the active configuration of the user. This feature improves usability of the multi-configuration feature.


See Also:

"Activating Configurations" in Oracle Warehouse Builder Installation and Administration Guide

Enhanced Support for Flat File Imports

There are numerous improvements to support for importing flat files, including a simplified Flat File Sample Wizard, support for multi-character and hexadecimal format delimiters and enclosures, simplified support for fixed format fields, and support for bulk flat file loads into heterogeneous targets.

Flat files are frequently used for simple and high-performance data movement in ETL applications. These changes improve ETL developer productivity and provide more flexible handling of more types of flat files in more scenarios.


See Also:

"Flat Files as Targets" and "Importing Definitions from Flat Files Using Sampling" in Oracle Warehouse Builder Sources and Targets Guide

Enhanced Table Function Support

Oracle Warehouse Builder now has improved support for table functions, including importing metadata for existing table functions, a wizard for creating table functions from within Oracle Warehouse Builder, and better support for table functions in mappings.

Improved support simplifies using table functions for much more flexible and powerful transformations, such as user-defined aggregations, data mining sampling operators, and so on.

Experts Available in Editor Menus

It is now possible to add Oracle Warehouse Builder experts to the mapping editor menu.

This feature makes it possible to enhance and extend the functionality of the mapping editor, improving developer productivity.


See Also:

"Overview of the Mapping Editor" in Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide

Expression Editing in Operator Edit Dialog

Expressions associated with operator attributes can now be entered directly into an Operator Edit Dialog or Expression Editor, rather than requiring that these expressions be entered into a property in the Property Inspector.

Developers can finish more of their work in one place when creating operators in ETL mappings, thus improving their productivity.

Extensible Platform Framework

Platform extensibility enables users to define new platforms, represent the native data types for those platforms, and create ETL mappings that manipulate that data according to the requirements of the platform.

This feature is part of the overall improved support for heterogeneous databases in this release.


See Also:


Automated Orphan Management Policy for Loading Dimensional Objects

Orphan management policy for dimensions or cubes refers to the process of handling source rows that do not meet the requirements necessary to form a valid dimension or cube record.

Oracle Warehouse Builder now supports the following orphan management policies:

  • Assign a default parent

  • Reject orphan rows

  • No maintenance

Automated orphan management policies improve ETL developer and administrator productivity by addressing an important cause of cube and dimension load failures.


See Also:

"Performing ETL Using Dimensional Objects" in Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide

Grouping and Spotlighting of Objects in Mapping Editor

You can now temporarily or permanently group objects in the Mapping Editor so that they are collapsed to a single icon. This hides complexity in mappings. Users can also spotlight a single operator, which temporarily hides all objects in the mapping except for those objects that connect directly to the operator.

These features improve productivity for developers working with complex mappings with large numbers of operators.


See Also:

"Grouping Operators in Mappings and Pluggable Mappings" in Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide

Heterogeneous Audit and Reporting

Auditing and reporting on run time jobs have been enhanced to show execution of all jobs required to support heterogeneous connectivity.

Users receive a unified view of all Oracle Warehouse Builder job executions on both Oracle and non-Oracle platforms.


See Also:

"Monitoring Quality with Data Auditors and Data Rules" in Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide

Improved Management of Locations Registered in Multiple Control Centers

The user interface for managing the registration of locations in control centers has been reworked to improve usability, especially when working with locations registered in multiple control centers.

This change improves productivity of Oracle Warehouse Builder administrators responsible for managing locations across control centers.


See Also:

"Locations Registered in Multiple Control Centers" in Oracle Warehouse Builder Sources and Targets Guide

Improved Metadata Search and Find for Dependency Management

The Dependency Manager, which is used to browse data lineage and impact analysis information, now includes advanced metadata searching capabilities.

Users can now more easily locate specific objects in large and complex dependency graphs. This improves productivity by making it easier to find specific objects and their lineage, and discover impacts from design changes.


See Also:

"Managing Metadata Dependencies" in Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide

Improved User Interface for Managing Locations (for Sources and Targets)

The user interface for managing Oracle Warehouse Builder locations has been reworked to improve usability and support access to non-Oracle data sources using newly supported connectivity methods.

These changes improve Oracle Warehouse Builder administrator and developer productivity in heterogeneous and Oracle-only environments.


See Also:

"Designing Source and Target Schemas" in Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide

Java-Based (J2EE) Control Center Agent

The Control Center Agent provides a Java-based run time environment that can be installed on Oracle and non-Oracle database hosts. Heterogeneous ETL mappings and Web services-related code are deployed to the Control Center Agent, and run time audit metadata is accessible within Oracle Warehouse Builder.

The Control Center Agent provides fundamental infrastructure for the heterogeneous, Code Template-based mapping support and Web services-related features of Oracle Warehouse Builder for this release.

Key Lookup Operator Enhancements

Extensive changes have been made to the key lookup operator:

  • More efficient use of screen real estate.

  • Support for non-equality lookups.

  • Dynamic lookups, where the lookup table may be modified during the mapping execution.

These changes make the lookup operator more powerful in many situations, including improving Type 2 slowly changing dimension support.

Mapping Debugger Enhancements

There are numerous enhancements to the Oracle Warehouse Builder Mapping Editor, including:

  • Improved support for watch points and enabling and disabling of individual break points.

  • Support for user-defined type columns.

  • Enhanced support for numerous existing operators, such as VARRAY, EXPAND, and CONSTRUCT.

  • Support for key lookup and table function operators.

  • Support for correlated joins.

  • Improved cleanup of debugger-specific objects.

These enhancements improve productivity for ETL mapping developers, especially when working with complex mappings where the mapping debugger adds the most value.

Metadata Import from COBOL Copybooks

In this release, Oracle Warehouse Builder provides the ability to import metadata from COBOL Copybook definitions.

This improves developer productivity, by simplifying working with complex flat file data structures extracted from mainframe sources.


See Also:

"Importing Metadata Definitions from COBOL Copybooks" under "Using Flat Files as Sources or Targets" in Oracle Warehouse Builder Sources and Targets Guide

Multiple Configuration Management Usability Improvements

The Oracle Warehouse Builder user interface for viewing and managing multiple configurations has been redesigned to simplify and clarify previously complex tasks, including:

  • Editing the configuration values for an object across all configurations

  • Configuring groups of objects at the same time

  • Using configuration templates to set default configuration values for different object types

  • Copying and pasting of configuration attribute values

  • Side-by-side editing of attribute values for multiple configurations for an object

These improvements enable users to take full advantage of the flexibility provided by multiple configurations.

New JDeveloper-Style User Interface

The Oracle Warehouse Builder Design Center user interface has been updated to use the Fusion Client Platform, the same core Integrated Development Environment (IDE) platform as Oracle JDeveloper and Oracle SQL Developer.

The advantages of this user interface framework include:

  • More efficient and flexible use of screen real estate.

  • Support for opening multiple editors of the same type, for example, editing several ETL mappings in different windows.

  • More consistent behavior across different parts of the Oracle Warehouse Builder user interface.

This change brings the Design Center in Oracle Warehouse Builder in line with other development tools from Oracle.


See Also:

Chapter 3, "User Interface Tour" in this guide

Operator Comments Included in Generated PL/SQL Code

PL/SQL code generated for Oracle Warehouse Builder ETL mappings now includes detailed comments to help developers associate specific operators in a mapping with sections of the generated code.

Developers can more easily troubleshoot issues with Oracle Warehouse Builder-generated code that can only be detected when the code is deployed. This additional information enhances developer productivity.

Organizing Objects with User Folders

Users can create hierarchically nested folders to logically group related objects. Folders can be created within Oracle and non-Oracle database modules, non-Oracle database modules, application modules. User folders can be nested as necessary to organize objects further.

You can use folders to group related objects. Any object in one of the supported module types, such as a table or a mapping, can be moved into a folder.

For example, if a single database module contained tables, views, and ETL mappings for product and customer data, folders "Product" and "Customer" could be created, and the objects related to each category moved into the separate folders.

User folders can also be created to contain pluggable mappings. This allows organization of related pluggable mappings into groups.

User-created folders improve ETL developer productivity on complex projects, by making it easier to logically group and manage large numbers of objects.

Quick Mapper in Mapping Connection Dialog Box

In this release, Oracle Warehouse Builder introduces the Mapping Connection dialog box, a spreadsheet-like "quick mapper" for connecting operators in a mapping. This functionality replaces the Auto Mapping dialog box in earlier releases.

This improvement saves developer time and reduces errors when working with operators with a large number of inputs or outputs.


See Also:

"Connecting Operators, Groups, and Attributes" in Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide

Repository Browser Changes

The Repository Browser has been updated to support foldering, to expose the new types of metadata associated with the release 11.2 feature set, and to support OC4J 10.3.3.

These changes improve manageability for Oracle Warehouse Builder.


See Also:

"Common Repository Browser Tasks" in Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide

Chunking for Parallelizing Large Table Updates

Chunking in Oracle Warehouse Builder automates the use of a "divide and conquer" approach to parallelize the processing of large updates. Users enable chunking for a mapping and define chunking criteria to partition the updates. Oracle Warehouse Builder generates PL/SQL code for the mapping, and at execution time, updates are divided according to chunking criteria, a pool of threads is allocated, and the chunks are processed in parallel.

The benefits of applying chunking include:

  • Chunking provides the only method of automatically parallelizing PL/SQL code in Oracle Warehouse Builder.

  • Chunking avoids the need for large rollback segments. Set-based SQL statements for large updates require large rollback segments, because a single set-based statement does not perform intermediate commits.

  • Large updates can be performed incrementally, and if interrupted, chunks are processed do not have to be processed again. Without chunking, if a large update terminates for some reason, all processing must be repeated.


    See Also:

    The section on chunking data under "Using Oracle Source and Target Operators" in Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide

Simplified Oracle Warehouse Builder Repository Upgrades

The Repository Upgrade automatically upgrades an Oracle Warehouse Builder repository to the current release with less user intervention.

This feature simplifies the task of upgrading from one release to the next.

Support for EJB/Java Activity Type in Process Flows

A new process flow activity supports calling an EJB or Java program from within a process flow.

Customers benefit from being able to incorporate existing or new logic implemented in Java into their data integration processes.

Improved Code Generation for Extraction of Peoplesoft Application Data

Oracle Warehouse Builder can now generate SQL*Plus code to extract data from database schemas supporting the deprecated LONG data type, such as occurs in PeopleSoft application data sources.

Support for LONG data types used in PeopleSoft data enables Oracle Warehouse Builder users to integrate more effectively with PeopleSoft data or any other data source that uses the LONG data type.


See Also:


Support for OMB*Plus Activity Type In Process Flows

Process flows now support an activity type for running an OMB*Plus script.

New process flow activity types increase the breadth of user-defined activities that can be incorporated into process flows and thus orchestrated and managed as part of your overall data integration process.

Support for Subqueries in Join Operator

The JOIN operator in Oracle Warehouse Builder now supports several new behaviors related to the use of subqueries in joins:

  • Specifying subqueries using EXISTS, NOT EXISTS, IN, and NOT IN.

  • Specifying outer joins using the input role instead of the + (plus) sign.

  • Generating ANSI SQL syntax for all join types instead of only outer joins.

More flexible handling for JOIN operations improves developer productivity and makes possible more flexible data transformations.

Web Service and SOA Integration Support for ETL and Data Quality

Oracle Warehouse Builder ETL and data quality mapping, process flows, transformations, and data auditors can be published as Web services. Oracle Warehouse Builder can also consume Web services in process flows.

This feature provides point-and-click integration of the ETL and data quality functionality of Oracle Warehouse Builder into SOA-based designs, and facilitates integration with SOA-based process orchestration technologies such as Oracle BPEL Process Manager. (SOA stands for Service-Oriented Architecture).


See Also:

"Creating and Consuming Web Services in Warehouse Builder" in Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide

PKPK'AOEBPS/title.htm5 Oracle Warehouse Builder Concepts, 11g Release 2 (11.2)

Oracle® Warehouse Builder

Concepts

11g Release 2 (11.2)

E10581-04

September 2011


Oracle Warehouse Builder Concepts, 11g Release 2 (11.2)

E10581-04

Copyright © 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Primary Author: Richa Agarwala

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable:

U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007). Oracle America, Inc., 500 Oracle Parkway, Redwood City, CA 94065.

This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

This software or hardware and documentation may provide access to or information on content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services.

PKEmPK'AOEBPS/intro.htm Introduction to Oracle Warehouse Builder

2 Introduction to Oracle Warehouse Builder

This section provides an introduction to Oracle Warehouse Builder, and discusses the architectural components and objects that you create.

This section contains these topics:

Overview of Oracle Warehouse Builder and Its Benefits

Oracle Warehouse Builder is a full-featured data integration, data warehousing, data quality and metadata management solution designed for the Oracle database. Oracle Warehouse Builder is an integral part of Oracle Database 11g Release 2 (11.2) and is installed as part of every database installation (other than Oracle Database XE).

The major feature areas of Oracle Warehouse Builder include:

Oracle Warehouse Builder is also an extensible data integration and data quality solutions platform. Oracle Warehouse Builder can be extended to manage metadata specific to any application, and can integrate with new data source and target types, and implement support for new data access mechanisms and platforms, enforce your organization's best practices, and foster the reuse of components across solutions.


See Also:

Oracle Database Licensing Information for complete information about options for Oracle Warehouse Builder.

Use Cases for Oracle Warehouse Builder

Oracle Warehouse Builder can be used in a wide range of scenarios, centered on Oracle Database, and adds value as a solution for data integration, data movement, and data quality. The data systems you create with Oracle Warehouse Builder are driven by rich metadata about sources and targets, and tight integration with, and awareness of, core features in Oracle Database. The ETL and data quality features provided by Oracle Warehouse Builder add value in each of the use cases described in this section.

The most common use cases include:

Business Intelligence and Data Warehousing

Oracle Warehouse Builder can be used in the design of relational objects for your operational data store, and dimensional objects for the data warehouse performance layer. You can implement ETL processes for loading warehouses, including smart operators that simplify loading dimensional objects, even for complex loading processes required for slowly changing dimensions. Oracle Warehouse Builder can implement business intelligence applications and data marts.

Oracle Warehouse Builder can also be used to profile data sources and to develop or discover data rules. You can use data rules to measure data quality, monitor, and enforce quality requirements during loading, or as an out-of-band process. Data cleansing logic can be incorporated into the warehouse loading process.

Master Data Management

Oracle Warehouse Builder application adapters (or connectors) enable access to data stores representing critical business entities such as customers and products at a logical, rather than physical, level. This simplifies the design of data movement, data quality and data cleansing, and enrichment processes.

You can use Oracle Warehouse Builder data quality features to discover, audit, and enforce the contents of your master data stores and their compliance with your data rules. Automated data cleansing and enrichment processes are easy to implement.

Data Migration, Conversion, and Modernization

You can use Oracle Warehouse Builder design to target for any migration or conversion process and can implement data movement processes. Data quality features offer high value in such scenarios as well. Data profiling of the source systems can reveal data quality issues before they are introduced into the new system. You can use Oracle Warehouse Builder profile to source data, design the target system, and to implement and orchestrate complex data movement, transformation and cleansing processes without requiring custom code.

Data Profiling and Quality Management

After you connect to your data sources in Oracle Warehouse Builder (including Oracle databases, sources accessed through gateways, and flat file sources) you can apply full-featured data profiling to generate statistics about data quality, and to discover complex patterns, foreign key relationships, and functional dependencies. You can then design complex data rules and create data auditors to monitor compliance with those rules in any source or target system in your landscape, regardless of whether those sources are loaded using Oracle Warehouse Builder or other ETL tools.

For customers who have selected solutions other than Oracle Warehouse Builder for data profiling and data quality, these can be applied independently of Oracle Warehouse Builder ETL and design features.


Note:

Depending on how you use Oracle Warehouse Builder, you may require licenses for additional database options and technologies. Refer to Oracle Database Licensing Information for complete details about Oracle Warehouse Builder options.

Quick Start for Using Oracle Warehouse Builder

After Oracle Database is installed, you must not take additional actions other than to unlock the OWBSYS and OWBuilderSYS_AUDIT accounts, and run the Repository Assistant. This section provides

Oracle recommends that you start with the following steps to learn about using Oracle Warehouse Builder:

  1. "Before You Begin"

  2. "Configure a Project in the Oracle Warehouse Builder Design Center"

  3. "Import the Source Metadata"

  4. "Profile Data and Ensure Data Quality"

  5. "Design the Target Schema"

  6. "Design ETL Logic"

  7. "Deploy the Design and Execute the Data Integration Solution"

  8. "Monitor Quality and Report on the Data System"

The first time you start Oracle Warehouse Builder, the Start Page is displayed with links to get you started using the product.


Note:

Standalone software for Oracle Warehouse Builder is available with Oracle Database. Use the Oracle Warehouse Builder standalone software to host the Oracle Warehouse Builder repository on an earlier release of Oracle Database. Also, use the standalone software to install Oracle Warehouse Builder on client computers. See, "Working with the Oracle Warehouse Builder Standalone Install Package" in Oracle Warehouse Builder Installation and Administration Guide.

Before You Begin

Before you can use any of the Oracle Warehouse Builder client components, first ensure you have access to an Oracle Warehouse Builder workspace.

To begin using Oracle Warehouse Builder: 

  1. Install the Oracle Warehouse Builder software and create the necessary workspaces as described in "Installing Oracle Warehouse Builder on the Server" in Oracle Warehouse Builder Installation and Administration Guide.

    If an administrator has previously completed the installation, contact that person for the required connection information.

  2. Start the Design Center.

    On a Windows platform, from the Start menu, select Programs. Select the Oracle home in which Oracle Warehouse Builder is installed, then Oracle Warehouse Builder, and then Design Center.

    On a Linux platform, run Oracle Warehouse Builderclient.sh located in the Oracle Warehouse Builder/bin/unix directory in the Oracle home for Oracle Warehouse Builder.

Use the Projects Navigator to manage design objects for a given workspace. The design objects are organized under a project, which provide a means for structuring the objects for security and reusability. Each project contains nodes for each type of design object that you can create or import.

Use the Connections Navigator to establish connections between the Oracle Warehouse Builder workspace and databases, data files, and applications.

Use the Globals Navigator to manage objects that are common to all projects in a workspace and to administer security.


Note:

The Security node is visible to users who have an administrator role.

Configure a Project in the Oracle Warehouse Builder Design Center

In this procedure, you configure your project and access source and target data.

To configure a project in the Design Center: 

  1. In the Projects Navigator, identify the project to be used.

    • If you are satisfied with the single default project, MY_PROJECT, continue with the next step.

    • Alternatively, you can rename MY_PROJECT or define more projects. Each project you define is organized in the same fashion with nodes for databases, files, applications, and so on. See the procedure "To create a project" For a different organization, consider creating optional collections as described in "Collections".

  2. Create locations in order to connect to source and target data objects.

    • To create a location, right-click the appropriate node and select New. Fill in the requested connection information and select Test Connection. In this step, you establish connections to sources and targets. You do not move data or metadata until subsequent steps.

    • In the Connections Navigator, establish these connections by defining locations. Expand the Location node and the nodes within it to gain a general understanding of the types of source and targets you can access from Oracle Warehouse Builder.

    For more information about locations see "Locations Navigator".

  3. Identify the target schema.

    Although you can use a flat file as a target, the most common and recommended scenario is to use the Oracle Database as the target schema.

    To define the target schema, begin by creating a module. Modules are grouping mechanisms in the Projects Navigator that correspond to locations in the Connections Navigator. The Oracle target module is the first of several modules you create in Oracle Warehouse Builder.

    In the Projects Navigator, expand the Databases node. Right-click Oracle and select New. The Create Module Wizard appears. Set the module type to Warehouse Target and specify whether the module is be used in development, quality assurance, or production. This module status is purely descriptive and has no bearing on subsequent steps you take.

    When you complete the wizard, the target module displays with nodes for mappings, transformations, tables, cubes and the various other types of objects you use to design the target warehouse.

  4. Create a separate Oracle module for the data sources. (Optional)

    At your discretion, you can either create another Oracle module to contain Oracle source data or proceed to the next step.

  5. Identify the execution environment.

    Under the Connections Navigator, notice the Control Centers node. A Control Center is an Oracle Database schema that manages the execution of the ETL jobs you design in the Design Center in subsequent steps.

    During installation, Oracle Warehouse Builder creates the DEFAULT_CONTROL_CENTER schema on the same database as the workspace.

    If you choose to use the default execution environment, continue to the next step. Alternatively, you can define new control centers at any time. For more information and procedures, see "Deploying to Target Schemas and Executing ETL Logic" in Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide.

  6. Prepare development, test, and production environments. (Optional)

    Thus far, these instructions describe the creation of a single project corresponding to a single execution environment. You can, however, reuse the logical design of this project in different physical environments such as testing or production environments.

    Deploy a single data system to several different host systems or to various environments, by creating additional configurations. See, "Managing Configurations" in Oracle Warehouse Builder Installation and Administration Guide.

  7. Adjust the client preference settings as desired or accept the default preference settings and proceed to the next step.

    From the main menu in the Design Center, select Tools and then Preferences.

    As a new user, you may be interested in setting the "Environment Preferences" and the naming mode under "Naming Preferences". For information on all the preferences, see "Oracle Warehouse Builder Design Center and Runtime Preferences".


    Note:

    To change the locale, edit Oracle Warehouse Builder.conf or ide.conf and use AddVMOption to set the new locale. The locale setting specifies the language you want the client text to display.

    For example, the following entry in Oracle Warehouse Builder.conf sets the locale to Japanese:

    AddVMOption -Duser.language = ja


Import the Source Metadata

In this section, you create modules for each type of design object into which you intend to import metadata.

  1. In the Projects Navigator, select a node such as Files.

    • For the selected node, determine the locations from which you intend to ultimately extract data.

    • Then create a module for each relevant location by right-clicking on the node and select New.

  2. Import metadata from the various data sources: right-click the module and select Import to extract metadata from the associated location. Oracle Warehouse Builder displays a wizard to guide you through the process of importing data.

    For an example and additional information on importing data objects, see "Importing Warehouse Builder Data into Business Intelligence Applications" in Oracle Warehouse Builder Sources and Targets Guide.

  3. For the metadata you imported, profile its corresponding data. (Optional)

    The next step uses the Data Profiling Option to ensure data quality as described in "Overview of Data Profiling" in Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide.

Profile Data and Ensure Data Quality

Data can only be transformed into actionable information when you are confident of its reliability. Before you load data into your target system, you must first understand the structure and the meaning of your data, and then assess the quality.

Consider using the Data Profiling Option to better understand the quality of your source data. With the Data Profiling Option, you can correct the source data and establish a means to detect and correct errors that may arise in the loading of transformed data.


See Also:


Design the Target Schema

In this section, you create and design the data objects for the Oracle target module. In previous steps, you may have imported existing target objects.

To design the target schema: 

  1. To create data objects, you can either start the appropriate wizard or use the Data Object Editor. To use a wizard, right-click the node for the desired object and select New. After using a wizard, you may want to modify the object in the editor. In that case, right-click the object and select Open Editor.

    For additional information, see "Designing Schemas" in Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide.

  2. As you design objects, be sure to frequently validate the design objects.

    • You can validate objects as you create them, or validate a group of objects. In the Projects Navigator, select one or more objects or modules, then click the Validate icon.

    • Examine the messages in the Validation Results window. Correct any errors and try validating again.

    • To redisplay the most recent validation results at a later time, select Validation Messages from the View menu.

    For additional information, see "Validating Data Objects" in Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide .

  3. Configure the data objects.

    • To configure a data object, select the data object in the Projects Navigator and click the Configure icon. Or right-click the data object in the Projects Navigator and select Configure.

    • Configuring data objects specifies the physical properties of the object. You must not generate and deploy data objects without specifying the physical property values.

    • When you create data objects, Oracle Warehouse Builder assigns default configuration property values based on the type of object. In most cases, these default values are appropriate. You can edit and modify the configuration property values of objects according to your requirement. For example, you configure a table to specify the name of the tablespace in which it is created.

  4. When satisfied with the design of the target objects, generate the code.

    • In the Projects Navigator, select one or more objects or modules, then click the Generate icon. Examine the messages in the Generation Results window. To redisplay the most recent generation results at a later time, select Generated Scripts from the View menu.

    • Alternatively, in the Data Object Editor, you can generate code for a single object by clicking the Generate icon.

    • You can save the generated script as a file and optionally deploy it outside Oracle Warehouse Builder.

    Generation produces a DDL or PL/SQL script to be used in subsequent steps to create the data objects in the target schema. For more information about generation, see "Generating Data Objects" in Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide.

Design ETL Logic

This procedure describes how to design mappings that define the flow of data from a source to target objects.

To design ETL logic: 

  1. In the Projects Navigator, expand the Oracle target module, right-click the Mappings node and select New.

    • The Mapping Editor enables you to define the flow of data visually. You can drag-and-drop operators onto the canvas, and draw lines that connect the operators. Operators represent both data objects and functions such as filtering, aggregating, and so on.

    See detailed procedures in "Defining Mappings" in Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide , concluding with generating the code for the mapping.

  2. Manage dependencies between mappings. See "Designing Process Flows" in Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide.

Deploy the Design and Execute the Data Integration Solution

Deployment is the process of copying the relevant metadata and code you generated in the Design Center to a target schema. This procedure is necessary to enable the target schema to execute ETL logic such as mappings.

To deploy and execute the generated code: 

  1. Deploy objects from either the Design Center or Control Center Manager.

    In this step, you define the objects in the target schema.

    The simplest approach is to deploy directly from the Design Center by selecting an object and clicking the Deploy icon. In this case, Oracle Warehouse Builder deploys the objects with the default deployment settings.

    Alternatively, if you want more control and feedback on how Oracle Warehouse Builder deploys objects, from the Design Center menu select Tools, then Control Center Manager.

    Whether you deploy objects from the Design Center or the Control Center Manager, be sure to deploy all associated objects. For example, when deploying a mapping, also deploy the target data objects such as tables that you defined and any associated process flows or other mappings.

    For more information, see "Deploying to Target Schemas and Executing ETL Logic" in Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide.

  2. Execute the ETL logic to populate the target warehouse.

    In this step, you move data for the first time. Repeat this step each time you want to refresh the target with new data.

    You have two options for executing the ETL logic in mappings and process flows. You can create and deploy a schedule as described in "Defining Schedules", or you can execute jobs manually as described in "Starting ETL Jobs" in Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide.

Monitor Quality and Report on the Data System

It is essential to ensure the quality of data entering your data warehouse over time. Data auditors enable you to monitor the quality of incoming data by validating incoming data against a set of data rules and determining if the data confirms to the business rules defined for your data warehouse.


See Also:

"Monitoring Quality with Data Auditors and Data Rules" in Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide.
dc

Although the Control Center Manager displays histories for both deployment and execution, the Repository Browser is the preferred interface for monitoring and reporting on Oracle Warehouse Builder operations.


See Also:

"About the Repository Browser" in Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide.

Oracle Warehouse Builder Architecture

Oracle Database provides Oracle Warehouse Builder as part of the standard software when the database is installed. Oracle Warehouse Builder is an integral part of Oracle Database. Oracle Warehouse Builder runs on all versions (Standard Edition, Standard Edition One, Enterprise Edition) and typically all platforms that Oracle Database is certified on and ported to.

The basic Oracle Warehouse Builder architectural components on the server side are:

The main Oracle Warehouse Builder components on the client or desktop side, which are discussed in Chapter 3, "User Interface Tour", are:

Figure 2-1 illustrates the components that comprise Oracle Warehouse Builder and where they reside and run on clients and servers.

Figure 2-1 Oracle Warehouse Builder Components

Description of Figure 2-1 follows
Description of "Figure 2-1 Oracle Warehouse Builder Components"


See Also:

"Overview of Installation and Configuration Architecture" in Oracle Warehouse Builder Installation and Administration Guide for diagrams of additional configurations.

The Oracle Warehouse Builder Repository

A major feature of the architecture in Oracle Warehouse Builder is the single, unified Oracle Warehouse Builder Repository for the database instance, which is pre-seeded with a schema and database objects. The run time environment and the design environment reside in this single repository. The repository schema, named Oracle Warehouse BuilderSYS, gets created when you install Oracle Database. After the database is installed, you must not perform additional actions, other than unlocking the Oracle Warehouse BuilderSYS and Oracle Warehouse BuilderSYS_AUDIT accounts.


Note:

  • Oracle Warehouse Builder Release 11g stores all repository objects in the Oracle Warehouse BuilderSYS schema, which is created as part of every Oracle release 11g database. Oracle Warehouse BuilderSYS database user is also registered as an Oracle Warehouse Builder user. Administrators and developers generally register other database users and assign them required privileges, rather than using Oracle Warehouse BuilderSYS account directly.

  • You can create multiple repositories if you prefer to separate the run time and design environments; however, this is not recommended.


Workspaces

To start using Oracle Warehouse Builder, you create at least one, new workspace. Users access their respective workspaces, instead of the repository as a whole. Thus, if you are Oracle Warehouse Builder administrator, instead of granting users access to a repository, you grant them access to one or more workspaces. Because all workspaces are stored in a single repository schema, creating workspaces is simplified.

In defining the repository, an administrator creates one or more workspaces, with each workspace corresponding to a set of users working on related projects. For example, a common practice is to create separate workspaces for Development, Testing, and Production. This practice provides team focus in addition to security. Users such as developers can have access to the Development and Testing workspaces, and can be restricted from the Production workspace. Later in the implementation cycle, you can use the Repository Assistant in Oracle Warehouse Builder to manage existing workspaces or to create new ones.

Control Center Service

Each workspace has a default Control Center that points to itself, and it is started and stopped with its corresponding Control Center Service. A Control Center stores detailed information about every deployment and execution, which you can access either by object or by job.

You can use the default Control Center to deploy to the local system, or you can create additional Control Centers for deploying to different systems as needed. Only one Control Center is active at any given time, and this is the Control Center associated with the current active configuration.

Control Center Agent (J2EE Runtime)

The Control Center Agent (CCA) runs on the Oracle Containers for J2EE (OC4J) server. Some capabilities of Oracle Warehouse Builder related to accessing non-Oracle data, such as Code Templates and Web services, depend on Java code that executes outside the database, in an OC4J server called the Java or J2EE Run time. For some heterogeneous data access scenarios, you must install a standalone Java Run time on hosts where there is no Oracle database installed.

You start the Control Center Agent with ccastart from the command line. Oracle Warehouse Builder provides the cca_admin utility to enable dynamic changes to Control Center Agent settings, without the requirement to shut down and subsequently restart the run-time environment.


Note:

A Code Template (CT) contains the knowledge required by Oracle Warehouse Builder to perform a specific set of tasks against a specific technology, system, or set of systems. You must start the Control Center Agent before you deploy Code Templates.

Refer to "About Code Templates" in Oracle Warehouse Builder Sources and Targets Guide and "About Prebuilt Code Templates Shipped with Warehouse Builder" in Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide.


Target Schemas

The data in your Oracle Warehouse Builder project is stored in a target schema within the server. This data is in the form of data objects such as tables, views, and dimension and cube objects. In a traditional data warehousing implementation, there is typically only one target schema, which is the data warehouse target. You can design both relational and dimensional target schemas. To design a target schema, you first create the target module that contains all the data objects. A target module is a container that holds the metadata definitions of all your data warehouse objects. Each target module corresponds to a target location that represents the physical location where the objects are stored.

Getting Help for Oracle Warehouse Builder

In addition to context-sensitive help available with the F1 key, Oracle Warehouse Builder provides a Help Menu with links to utilities, training, the discussion forum, Oracle Technology Network and more. The Help Menu also contains the "Help Center", the online version of the complete Oracle Warehouse Builder documentation library.

Help Menu

The Help menu available from the Design Center contains these menu items:

  • Search. Provides a shortcut to the search facility for the online Help Center.

  • Table of Contents. Opens the "Help Center" with the Table of Contents selected.

  • Help Favorites. Opens the Help Center with your favorites selected, if you have configured favorite Help topics.

  • Dynamic Help.

  • Start Page. Accesses the Start Page after the first time you have run Oracle Warehouse Builder.

  • Extensions. A link to Oracle Warehouse Builder Utility Exchange on OTN. The purpose of the Oracle Warehouse Builder Utility Exchange is to provide the user community with a forum where utilities, code samples, and tips and tricks can be exchanged. The utilities posted here are not part of any Oracle production release and are, therefore, free-of-charge and not supported.

  • Training. Provides a shortcut to Oracle University where you can find out about training for Oracle Warehouse Builder.

  • Discussion Forum.

  • Oracle Technology Network. Provides a shortcut to Oracle Warehouse Builder on OTN for this release.

  • Check for Updates. Checks for Oracle Warehouse Builder product updates. When grayed out, no updates are available.

  • Session Properties. Displays information about the current workspace session such as workspace owner and name; connection properties like host name, service name and database version; and roles granted to the workspace owner.

  • About. Displays version information about the current software release.

Help Center

The Help Center contains the complete Oracle Warehouse Builder documentation set in HTML format, available for online reading and searching. The Help Center opens with the Contents tab active. Click the plus symbol to expand the contents. Use the Search facility to enter topics on which to search.

Documentation Library for Oracle Warehouse Builder

Oracle Warehouse Builder provides the documentation described in Table 2-1.

Table 2-1 Oracle Warehouse Builder Documentation Library

TitleDescription and Use

Oracle Warehouse Builder Installation and Administration Guide


You use "Part I: Installing and Configuring Oracle Warehouse Builder" to perform any necessary installation tasks and to configure the Oracle Warehouse Builder repository. "Part II: Administering Oracle Warehouse Builder," starting with the chapter "Managing Configurations" provides detailed procedures for configurations, the Control Center and Repository, Control Center Agent, managing content, using the Metadata Loader, and managing security.

Oracle Warehouse Builder Release Notes


The release notes contain any late-breaking information about corrections, troubleshooting, and known issues. You can scan through the release notes during the set up processes to see the last-minute notes about this release.

Oracle Warehouse Builder Concepts


Similar to Oracle Database Concepts, this book provides a high-level explanation of the architecture, user interface, and components within Oracle Warehouse Builder. It provides a user interface tour chapter and overviews of the processes and steps used to perform typical tasks within Oracle Warehouse Builder. This book provides links to more detailed information and procedures within the other books.

Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide


This book provides comprehensive procedures for designing target schemas, performing data transformations, generating code, and doing all the tasks for optimizing and managing data quality.

Oracle Warehouse Builder Sources and Targets Guide


This book lists all of the supported sources and targets and provides procedures for importing from sources and deploying to targets.

Oracle Database 2 Day + Data Warehousing Guide


This book is part of the Oracle Database 2 Day + series and provides a good starting place to understand the data warehousing features offered with the database in addition to Oracle Warehouse Builder.

Oracle Warehouse Builder API and Scripting Reference


This book describes the scripting language available with Oracle Warehouse Builder and provides a complete language reference.

Oracle Warehouse Builder Help(Only available as online help within Oracle Warehouse Builder.)

The comprehensive help system that provides online versions of the complete documentation library, and context-sensitive help for all UI objects.


PKuwndPK'AOEBPS/sourcetargs.htmv) Data Access and Movement

4 Data Access and Movement

This section discusses data sources and targets, and how Oracle Warehouse Builder provides solutions for accessing and moving data among disparate systems with simple to complex requirements.

This section contains the following topics:

About Metadata on Source Data

Metadata is the data that describes the contents of a given object in a data source or target. For example, metadata for a table indicates the column names and data types for each column.

Before you import source metadata into Oracle Warehouse Builder, first create a module that contains these metadata definitions. The type of module you create depends on the source from which you are importing metadata. For example, to import metadata definitions from an Oracle database, you create or use an Oracle module. To import metadata definitions from flat files, you create a flat file module.


See Also:

"Modules and Locations" in this guide, and "General Steps for Importing Metadata from Sources" in Oracle Warehouse Builder Sources and Targets Guide.

Oracle Warehouse Builder must have metadata for any source or target object that can be manipulated in your project. The most basic metadata needed by Oracle Warehouse Builder can be created or derived in several ways:

The metadata management and reporting features in Oracle Warehouse Builder, and data lineage and impact analysis, depend on, and leverage the metadata about the sources and targets and transformations that move data among them, which accumulates in your Oracle Warehouse Builder projects over time.


See Also:

"Connecting to Sources and Targets in Oracle Warehouse Builder" in Oracle Warehouse Builder Sources and Targets Guide.

The Import Metadata Wizard

The Import Metadata Wizard automates importing metadata from a database into a module in Oracle Warehouse Builder. You can import metadata from Oracle Database and non-Oracle databases. Each module type that stores source or target data structures has an associated Import Wizard, which automates the process of importing the metadata to describe the data structures. Importing metadata saves time and avoids keying errors, for example, by bringing metadata definitions of existing database objects into Oracle Warehouse Builder.

The Welcome page of the Import Metadata Wizard lists the steps for importing metadata from source applications into the appropriate module. The Import Metadata Wizard for Oracle Database supports importing of tables, views, materialized views, dimensions, cubes, external tables, sequences, user-defined types, and PL/SQL transformations directly or through object lookups using synonyms.

When you import an external table, Oracle Warehouse Builder also imports the associated location and directory information for any associated flat files.

Modules and Locations

A module is a container structure for the data objects in Oracle Warehouse Builder. Modules are equivalent to schemas from a database perspective. A location stores credentials needed to access a schema. Locations are linked to modules to provide access to metadata and the data itself. A module can have many locations associated with it, but only one can be the configured location at any point in time.

The association of a module to a location enables you to perform certain actions more easily in Oracle Warehouse Builder. For example, you can reimport metadata by reusing an existing module. Furthermore, when you deploy ETL processes in subsequent steps, modules enable you to deploy related objects, such as process flows.

Modules are created by expanding the Projects Navigator until you find the node for the data object type for which you want to create the module. For example, if the source data is stored in an Oracle Database, then you expand the Databases node to view the Oracle node. If the source data is in an SAP R/3 system, then you expand the Applications node to view the SAP node. By right-clicking the node, you can select New and start the Create Module Wizard.


See Also:

"Modules" in this guide, and "Creating Modules" in Oracle Warehouse Builder Sources and Targets Guide.

About Connectors

A connector is a logical link created by a mapping between a source location and a target location. The connector between schemas in two different Oracle Databases is implemented as a database link, and the connector between a schema and an operating system directory is implemented as a database directory.

You must not create connectors manually if your user ID has the credentials for creating these database objects. Oracle Warehouse Builder creates them automatically the first time you deploy the mapping. Otherwise, a privileged user must create the objects and grant you access to use them. You can then create the connectors manually and select the database object from a list.

To create a database connector, from within the Connection Navigator, expand the Locations folder and the subfolder for the target location. Right-click DB Connectors and select New. The Create Connector wizard opens with prompts for creating the connection. You can create a directory connection by right-clicking Directories and selecting New, following the same steps.


See Also:


Summary of Supported Sources and Targets

This section summarizes the supported sources and targets for each Location node as displayed in the Connections Navigator.

Oracle Warehouse Builder supports sources from:

Oracle Warehouse Builder supports the following targets:


See Also:

"Supported Sources and Targets" in Oracle Warehouse Builder Sources and Targets Guide for a detailed and complete list.

Flat Files as Data Sources or Targets

Oracle Warehouse Builder supports using flat files as data sources. Flat files are typically in plain text comma-delimited or tab-separated format, or proprietary binary formats, and may be stored on different types of operating systems. You first ensure that you have direct access either locally, or by creating a network connection, through TCP/IP or NFS for example. Oracle Warehouse Builder provides the Create Flat File Wizard to create a file object, which contains the imported flat-file definitions.

The Create Flat File Wizard provides intuitive prompts for importing metadata. To start the wizard, you right-click the file module and select Import. You can filter the filenames from which to import by applying wildcards. The wizard creates definitions for the files and inserts the file names under the Flat File module in the Project Navigator.

The locations that correspond to this module appear as folders on your computer's file system. The metadata is imported into a file module in Oracle Warehouse Builder and becomes visible in the workspace.

You can then sample the metadata from these flat files. The Flat File Sample Wizard enables you to view a sample of the flat file and define record organization and file properties. You can sample and define common flat file formats such as string and ASCII. The Flat File Sample Wizard also enables the importation of new data types such as GRAPHIC, RAW, and SMALLINT.

After you have created the flat-file locations and have imported the flat-file metadata, you are ready to import data. You introduce data from a flat file into an Oracle Warehouse Builder mapping either through an external table or a flat-file operator. Depending on how the data is to be transformed, use one of the following options:


Note:

The Create Flat File Wizard enables specifying the character set and defining single or multiple record types.


See Also:

"Using Flat Files as Sources or Targets" in Oracle Warehouse Builder Sources and Targets Guide for procedures.

External Table Option

If the data is to be joined with other tables or requires complex transformations, then use the External Table option. An external table can be used as a source and enables data from the associated flat file to be viewed from SQL as a table. When you use an external table in a mapping, its column properties are based on the SQL properties that you defined when importing the flat file. Oracle Warehouse Builder generates SQL code to select rows from the external table. You can also get parallel access to the file through the table. You can either import an existing external table from another database or define a new external table.

You can also use an external table to combine the loading and transformation within a single set-based SQL DML statement. You do not have to stage the data before inserting it into the target table.


See Also:

"Using External Tables" in Oracle Warehouse Builder Sources and Targets Guide for procedures.

Flat File Operators

In cases where large volumes of data are to be extracted and little transformation is required, use the flat file operator. When you use a flat file operator, SQL*Loader code is generated. From the flat file operator, you can load the data to a staging table, add indexes, and perform transformations as necessary. The transformations you can perform on data introduced by a flat file operator are limited to SQL*Loader transformations only.


See Also:

Oracle Database Utilities for more information about differences between external tables and SQL*Loader (flat file operators).

Data Systems Access with Code Templates

Oracle Warehouse Builder achieves seamless management of JDBC-accessible data systems through its Code Template (CT) technology. Code Templates provide native heterogeneous connectivity to Oracle and JDBC-accessible data systems and disparate platforms. Code templates can be used as an alternative to Oracle Gateways for accessing other databases. In addition to Oracle Warehouse Builder being the best ETL solution for Oracle databases, with Oracle Warehouse Builder you can move data that is located in non-Oracle systems into and out of your project quickly and easily. JDBC connectivity provides an alternative to Oracle Gateways or accessing other databases.

Code Template technology in Oracle Warehouse Builder also provides direct data movement among JDBC-accessible databases, without stopping in an Oracle database in between. For example, to move data from DB/2 to SQL Server for some reason, then you can do so from Oracle Warehouse Builder without moving the data through Oracle at all.


See Also:

"Using Code Templates to Load and Transfer Data" in Oracle Warehouse Builder Sources and Targets Guide.


Note:

When getting ready to generate code for a CT, you must have only the editor open for the CT on which you are focused. Otherwise, when you generate code for the CT, you get conflicting results.

Generic Connectivity and Oracle Database Gateways

Oracle alternatively provides the generic connectivity agent and optional Oracle Database Gateways for connecting to non-Oracle databases such as SQL Server, Sybase, Informix, Teradata, DRDA, ODBC, and other sources. Oracle Warehouse Builder can communicate with non-Oracle systems using Oracle Database Heterogeneous Services and a complementary agent if you choose this route.

The generic connectivity agent is intended for low-end data integration solutions. The transfer of data is subject to the rules of specific ODBC or OLE DB drivers installed on the client computer. In this case, you must not purchase a separate transparent gateway. You use the generic connectivity agent included with Oracle Database. You must still create and customize an initialization file for your generic connectivity agent.

Oracle Database Gateways provide specific connection agents, designed and optimized for other databases, which you install and configure separately as needed. For example, for a Sybase data source, you install the Sybase-specific gateway. The non-Oracle system appears as a remote Oracle Database to which you can then create a connection and import its data into Oracle. This is especially useful for database environments that do not intend to harbor data marts or data warehouses, but that need integration with a set of other data sources.


See Also:


Transportable Modules for Moving Large Volumes of Data

A transportable module enables Oracle Warehouse Builder to rapidly copy a group of related database objects from one database to another.

You use the Design Center to create a transportable module for which you specify the source database location and the target database location. Then you select the database objects to be included in the transportable module. The metadata of the selected objects are imported from the source database into the transportable module. The metadata is stored in the workspace. To physically move the data and metadata from source into target, you must configure and deploy the transportable module to the target location. During deployment, both data and metadata are extracted from the source database and created in the target database.


See Also:

"Moving Large Volumes of Data Using Transportable Modules" in Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide.

PK7={vvPK'AOEBPS/apx_editors.htmAU Object Editors

B Object Editors

This appendix provides information about the Graphical Navigator and object editors in Oracle Warehouse Builder.

This appendix contains the following topics:

The Graphical Navigator and Editors

In design mode, Oracle Warehouse Builder provides the Graphical Navigator from which you can start object and document editors. Objects from the component palette and tree panel can be dropped onto this navigator. The Oracle Warehouse Builder object editors also support keyboard navigation, including tabbing and shortcuts.

When you double-click an object such as a table, a document panel opens containing one or more viewers and editors that are specific to that object type. These editors appear as tabs at the bottom of the document window. When you select an object, a property inspector and menu options are available for that object, and you can include related objects. Additionally, you can drag and drop appropriate objects from the Navigator tree to the Graphical canvas and then relate these objects with rubber bands.


See Also:

"Using the Graphical Navigator" in Oracle Warehouse Builder Sources and Targets Guide.

Data Object and Document Editors

This sections provides a list of the various editors in Oracle Warehouse Builder:

Cube Editor Tabs

Dimension Editor Tabs

Table Editor

These tabs are available for table objects.

Data Viewer

These tabs in the Data Viewer are available for viewing objects.


See Also:

"Using the Data Viewer to View Data Stored in Data Objects" in Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide.

Materialized View Editor

These editor tabs are available for materialized view objects.


See Also:

"Configuring Materialized Views" in Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide.

Object Type Editor

Contains these tabs:

VArray Editor

Contains these tabs:

Nested Table Editors

Create Business Area Wizard and Business Area Editor

Contains these tabs:

Item Folder Editor

Contains these tabs:


See Also:

"Editing an Item Folder" in Oracle Warehouse Builder Sources and Targets Guide.

PK0AAPK'AOEBPS/glossary.htm R Glossary

Glossary

ABAP script

A script that can be generated in Oracle Warehouse Builder that extracts and loads data from SAP systems.

activity

A unit of work for a process flow. See also process flow.

analytic workspace

A container within Oracle Database that stores data in a multidimensional format. Analytic workspaces provide the best support for OLAP processing.

Code Template (CT)

A cross-platform, reusable object that contains the information required to perform a specific set of tasks against a specific technology or set of technologies, for example data integration or data transformation tasks.

Code Template mapping

A mapping that contains an association with a Code Template. Typically used to extract or load data (both with and without transformations) from non-Oracle databases, such as IBM DB2 and Microsoft SQL Server.

connector

A logical link created by a mapping between a source location and a target location.

Control Center Agent (CCA)

The agent that runs the Code Templates in the Oracle Containers for J2EE (OC4J) server. You must start the Control Center Agent before you deploy Code Templates or CT mappings. Also referred to as the J2EE Runtime.

Control Center Manager

The graphical console of the Control Center Service for centrally viewing and managing all aspects of deployment and execution. Provides access to the information stored in the active configuration. Includes update capabilities to enable management of your data system's life cycle.

Control Center Service

A service that runs outside the database, which can monitor and execute things that cannot be run directly in the database, such as: PL*SQL scripts, SQL*Loader, and shell scripts. Enables deployment of Oracle Warehouse Builder mappings and processes to targets (databases, and so on), and the execution of these mappings and processes.

control row

A row that links fact data to a dimension at any level.

CT mapping

See Code Template mapping.

cube

A data object that contains measures, and links to one or more dimensions. The axes of a cube contain dimension members, and the body of the cube contains measure values.

data auditors

Processes that provide data monitoring by validating data against a set of data rules to determine which records comply and which do not.

data rule

Metadata (as definitions) about data profiling results, which can be bound to the profiled data objects, and then be available in any context in which the profiled objects are used in ETL.

data transformation

A set of operations, which are specified in a mapping, that change source data into consistent, compatible output for a target.

DDL script

A script that can be generated in Oracle Warehouse Builder that creates or drops database objects.

deployable parameter

The parameter for an object that specifies it is to be deployed. By default this parameter is selected. To prevent an object from being deployed, clear this parameter.

deployable parameter

The parameter for an object that specifies it is to be deployed. By default this parameter is selected. To prevent an object from being deployed, clear this parameter.

deployment

The process of creating physical objects in a target location according to the logical objects defined in an Oracle Warehouse Builder workspace.

dimension

An object that contains additional metadata to identify and categorize data. Same as dimensional object. Can be a cube.

dimension attribute

A descriptive characteristic of a dimension member, having a name and a data type.

dimensional object

Refer to dimension and cube.

ETL

The process of extracting data from its source location, transforming it as defined in a mapping, and loading it into target objects (or schemas). ETL stands for extract, transform, and load.

execution

The process of running the code for the ETL logic that is defined in the deployed objects to instantiate the logic within the objects.

Expert

Mini-applications or task-flows that perform a specific sequence of tasks in Oracle Warehouse Builder.

flat files

Non-hierarchical, non-object-oriented file structures in plain text comma-delimited or tab-separated format, ASCII format, or proprietary binary formats.

folders

Structures in which to organize all or some objects within a target module based on specific object characteristics. For example, you may create user folders to group tables based on their functionality (sales, marketing, administration and so forth).

hierarchy

A structure that uses ordered levels to organize data. Oracle Warehouse Builder uses hierarchies to define relationships between adjacent levels in time dimensions.

item folder

Item folders are business views.

J2EE Runtime

Refer to Control Center Agent (CCA). Also, sometimes called Java Runtime.

level attribute

For time dimensions, a descriptive characteristic of a level value.

location

Object that stores the connection information to the various files, databases, and applications that Oracle Warehouse Builder accesses for extracting and loading data. Locations also store connection information to ETL management tools and Business Intelligence tools.

logical definition

The data objects created when you design a target schema.

mapping

An object that contains operations for extraction, transformation, and loading (ETL) that moves data from sources to targets.

mapping operator

The representation of an operation for a distinct task you want to perform in a mapping. For example, operations include extracting data, loading data, and transforming data.

match bin set

Relating to the match merge feature, a match bin set consists of one or more similar records.

metadata

Data that describes the contents of objects in a data set.

module

A container object that appears in the Projects Navigator and that corresponds to a specific location in the Locations Navigator. A module can correspond to only one metadata location and data location at a time.

ODI

See Oracle Data Integrator.

OMB*Plus

The Oracle Warehouse Builder scripting API, which is based on the Java implementation of Tcl called Jacl.

OMB

The OMB-prefixed commands ('B' for batch component) of OMB*Plus.

OMU

A subset of OMB*Plus that provides scripting commands for manipulating the user interface in Oracle Warehouse Builder. Also OMU-prefixed commands ('U' for UI component).

operator

Oracle Warehouse Builder contains pre-built operators for transformations, mappings, names and addresses, and so forth. Operators in Oracle Warehouse Builder are customizable and take advantage of the library of PL/SQL functions, procedures, package functions, and package procedures for Oracle Database. See also mapping operator.

Oracle Data Integrator

Oracle Data Integrator (ODI). See Oracle Fusion Middleware Developer's Guide for Oracle Data Integrator.

Oracle Warehouse Builder Repository

The single, unified repository for the database instance, which is pre-seeded with a schema and database objects. The run time environment and the design environment reside in this single repository. The repository schema, named OWBSYS, gets created when you install Oracle Database.

pluggable mapping

A reusable grouping of mapping operators that works as a single operator. Similar in concept to a function in a programming language.

process flow

An object that describes dependencies and activities between Oracle Warehouse Builder mappings and external processes, applets, or applications. Process flows begin with a start activity and conclude with an end activity and can also start other process flows. Compare to schedule. See also activity.

process flow module

A container for a grouping of process packages.

process flow package

A container for a grouping of process flows.

project

The highest-level and largest object in Oracle Warehouse Builder workspace. Each project contains the metadata and definitions for objects in the data system that contains the sources and targets.

relational target schema

A target schema that contains relational data objects such as tables, views, materialized views, and sequences. All of the data for a data store or data warehouse is contained in these objects.

repository

Refer to Oracle Warehouse Builder Repository.

SQL*Loader control file

A file or script that can be generated in Oracle Warehouse Builder that extracts and transports data from file sources.

table function

A set of operators that enable manipulation of a set of input rows, which return another set of rows of the same or different cardinality. Can return a set of output rows that can be queried like a physical table.

target module

A container that holds the metadata definitions of all your data warehouse objects. Each target module corresponds to a target location that represents the physical location where the objects are stored.

target schema

A schema that contains the data objects that store your data warehouse data. You can design a relational target schema or a dimensional target schema.

transportable module

Type of module that enables rapid copying of a group of related database objects in one database, to be pasted or inserted into another database.

transformation operators

Prebuilt operators that enable commonly performed operations such as filtering, joining, and sorting. Oracle Warehouse Builder also includes prebuilt operators for complex operations such as merging data, cleansing data, or profiling data.

user folder

A folder you can create to organize all or some objects in a target module based on specific object characteristics. Related tables and views that must be generated or deployed can be placed under a common folder. For example, you may create user folders to group tables based on their functionality (sales, marketing, administration and so forth).

validation

The process of verifying metadata definitions and configuration parameters to ensure that data object definitions are complete and that scripts can be generated and deployed.

value-based hierarchy

A dimension in which hierarchical relationships are defined by a parent dimension attribute and a child dimension attribute.

workspace

Oracle Warehouse Builder structure that contains all the related projects and their objects. Graphically displayed as the canvas in the Design Center where Oracle Warehouse Builder windows, navigators, wizards, and dialog boxes are laid out to create a work environment that one or more users log in to.

PK{R RPK'AOEBPS/preface.htm@ Preface

Preface

Oracle Warehouse Builder Concepts provides an architectural and conceptual overview for features and functionality of Oracle Warehouse Builder. This document lays a conceptual foundation for much of the practical information contained in other manuals.

This preface contains these topics:

Audience

Oracle Warehouse Builder Concepts, is primarily intended for database administrators and application developers who are new to Oracle Warehouse Builder, and who develop and maintain data integration systems. Readers of this document typically perform one or more of the following tasks:

To use this document, you should be familiar with relational database concepts, distributed database administration, and the operating system under which you run, or plan to run, an Oracle Warehouse Builder environment.

Documentation Accessibility

For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.

Access to Oracle Support

Oracle customers have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.

Related Documents

For more information about Oracle Warehouse Builder, see these Oracle resources:

For information about data warehousing, see these Oracle resources:

For information about licensing options, see:

Conventions

The following text conventions are used in this document:

ConventionMeaning
boldfaceBoldface type indicates graphical user interface elements associated with an action, or terms defined in text or the glossary.
italicItalic type indicates book titles, emphasis, or placeholder variables for which you supply particular values.
monospaceMonospace type indicates commands within a paragraph, URLs, code in examples, text that appears on the screen, or text that you enter.

PKGs@E@PK'AOEBPS/index.htm Index

Index

A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X 

A

Access, 4.3
access online help, 3.3.1
access to an OWB workspace, 2.2.1
ACCESS_PUBLICVIEW_BROWSER system privilege, 3.8
accessing and moving data, 4
accounts
OWBSYS and OWBSYS_AUDIT, 2.2
activity details
viewing for process flows, 3.8
activity types, 1.2.7
ADMINISTRATOR, 7.1.1
administrator usability, 1.2.5
advanced find, 1.3.1
ALL_OLAP2_AW views, 5.2.2.5
analytic MOLAP, 5.2.1
application
adaptors, 4.1
sources, ERP, 4.1
ASCII files, 4.4
attribute analysis, 8.6.1
attribute values for multiple configurations, 1.3.22
attributes
dimension attributes, 5.3.2.1
level attributes, 5.3.2.3
Auto Mapping dialog box, 1.3.26
automated corrections, 8.7
automated data cleansing, 8.7
automatic layout, 3.6
automation features, 10

B

basic metadata, 4.1
batch operations, 3.3.3
binary formats, 4.4, Glossary
Bird's Eye View, 7.5.1
browser listener, 3.3.1
Business Area Editor, B.2
business identifier, 5.3.2.2.2
business intelligence enhancements, 1.2.3
Business Intelligence node, 5.1
business names
business name mode, A.1.11.1
maximum length, A.1.11.1
requirements, A.1.11.1
syntax for business object names, A.1.11.1, A.1.11.1, A.1.11.1

C

Canvas, 3.6.1, 7.5.1
change management, 7.5
Change Manager, 3.3.1
character set, 4.4
check for updates, 2.4.1
chunking, 1.3.28
classes
Design Center, 3.3
Clipboard, 3.3.1
COBOL Copybooks, 1.3.21
code generation in mappings, 6.2
Code Template mappings, 1.3.4
Code Templates, 4.5
Code Templates (CT mappings), 6.2
collections, 3.2.3
deleting shortcuts in, 3.2.3
comma-separated, 4.4, Glossary
comments in operators, 1.3.24
complex transformation, 4.4.1
conditional operations, 3.3.3
configuration drop-down box, 1.3.6
configuration templates, 1.3.22
configuring groups of objects, 1.3.22
Connection Navigator, 4.2.1
connectivity
ODBC, 4.6
OLE DB drivers for heterogeneous data sources, 4.6
connectivity agent, 4.6, 4.6
connectors, 4.1
about, 4.2.1
Connectors Navigator of Locations, 3.5.2.1
CONSTRUCT, 1.3.20
context-sensitive help, 2.4
Control Center Agent, 1.3.18, 1.3.18
Control Center Manager, 3.4
copy and paste, 1.3.5
copying and moving metadata, 7.2
correction mappings, 8.7
correlated joins, 1.3.20
Create Business Area Wizard, B.2
Create Dimension Wizard, 5.2.2.1
Create Flat File Wizard, 4.4
credentials, 4.2.1
CRM, 4.1, 4.3
cube Data Viewer, 5.1.2
Cube Editor, B.2
cube-organized materialized views, 1.3.3
cubes, 5.6
default aggregation method, 5.6.1.2
dimensionality, 5.6.1.2
measures, 5.6.1.1
MOLAP implementation, 5.6.2.2
relational implementation, 5.6.2.1
ROLAP implementation, 5.6.2.1
solve dependency order, 5.6.3
current software release
version information, 2.4.1
current workspace session, 2.4.1
custom metadata stores, 4.1

D

data auditors, 8.4
data cleansing
automated, 8.7
data correction, 8.7.1.1
data correction, automatic, 8.7.1
data flow, 6.2
data matching, 8.8
Data Object Editor
components, 5.1.1
data object editors, 5.1.1
data objects
dimensional objects, implementing, 5.2.2.2
data profiling
about, 8.2
features in OWB, 8.5
types, 8.6
types, attribute analysis, 8.6.1
types, functional dependency, 8.6.2
types, referential analysis, 8.6.3
data quality
ensuring, 8.1
lifecycle, 8.1.1
management, 8.1
data rules
about, 8.3
custom profiling and, 8.6.4
data sources
Oracle Transparent Gateways, 4.6
Data transformation, 6.1
data type analysis, 8.6.1
Data Viewer, 3.3.1, 5.1.2
data viewer area, 3.6.1.8
database connector, 4.2.1
database dictionary and metadata, 4.1
DB2, 4.3
Debug Toolbar, 3.6.1.6
default naming mode, A.1.11.1
default project, 3.2
Dependency Manager, 1.3.16
deploying
about, 9.1.1
deployment status, 9.1.1.1
deploying a mapping, 9.1.1
deploying a process flow, 9.1.1
deployment, 4.7
deployment information
viewing to manage target environments, 3.8
Deployment Option configuration property, 5.2.2.2
Design Center, 1.3.23, 3.3, 3.6.1
classes not found, 3.3
Design menu, 3.3.1
Edit menu, 3.3.1
galleries, 3.3
menus, 3.3.1
toolbar, 3.3.2
Tools menu, 3.3.1
View menu, 3.3.1
Design Center, starting, 2.2.1
design decisions with OWB wizards, 3.7
design environment for Experts, 10.2.1
Design menu, 3.3.1
developer usability, 1.2.4
Diagram Toolbar, 3.6.1.6
differences between external tables and SQL*Loader, 4.4.2
dimension Data Viewer, 5.1.2
Dimension Editor, 5.2.2.1, B.2
dimension loading, 5.2.2.4
dimensional objects, 5.2
deployment options, 5.2.2.3
implementing, 5.2.2.2
dimensions
about, 5.3
business identifier, 5.3.2.2.2
control rows, 5.3.2.7
dimension attributes, 5.3.2.1
dimension roles, 5.3.2.5
hierarchies, 5.3.2.4
implementing, 5.3.3
level attributes, 5.3.2.3
level relationships, 5.3.2.6
levels, 5.3.2.2
orphan management policy, 5.2.2.6
parent identifier, 5.3.2.2.3
rules, 5.3.1
snowflake schema implementation, 5.3.3.2
star schema implementation, 5.3.3.1
surrogate identifier, 5.3.2.2.1
time dimensions, about, 5.5
value-based hierarchies, 5.3.2.8
dimensions and cubes, 5.2
display options for editors, 3.6.1.7
displaying Clipboard contents, 3.3.1
displaying generated scripts, 3.6.1.9
displaying preferences, 3.3.1
displaying the messages log area, 3.3.1
displaying validation messages for objects, 3.6.1.9
displaying welcome pages for wizards, A.1.5
DM Tree, 7.5.1
dockable panels, 3.6
domain analysis, 8.6.1
DRDA, 4.3

E

editor components, 3.6.1
editor display options, 3.6.1.7
editor modes, 3.6.1
editor toolbars, 3.6.1.6
editor windows, 3.6.1.1
editors, 3.6, 3.6.1
common components, 3.6.1
EJB/Java activity type in Process Flows, 1.3.30
enforcing data quality, 8.3
ensuring data quality, 8.1
ERP, 4.3
error details
viewing for ETL runtime, 3.8
errors
Extension tab, 3.3.1
EVERYONE, 7.1.1
Excel, 4.3
execution
about, 9.1.2
EXPAND, 1.3.20
Expert Editor, 10.2.1
Experts, 1.3.9
about, 10.2
design environment, 10.2.1
Guided Assistance, 10.3
storage, 10.2.2
expression editing, 1.3.10
extensible platform framework, 1.3.11
extensions, 2.4.1
Extensions tab, 3.3.1
external table update, 3.3.1
external tables
defined, 4.4.1
External Table option, 4.4.1
extracting existing metadata, 4.1

F

file object, 4.4
Flat File Sample Wizard, 4.4
flat files
as data sources, 4.4
as targets, 4.4
Create Flat File Wizard, 4.4
definitions, 4.4
operators, 4.4.2
what’s new, 1.3.7
foldering, 1.3.27
user folders, 1.3.25
folders, 3.2.2
functional dependency analysis, 8.6.2
Fusion Client Platform, 3.3

G

Gallery, 3.3
gallery
new, 3.6.1.4
Gateway, 4.6
Gateways, 4.6
DRDA, 4.6
Informix, 4.6
ODBC, 4.6
SQL Server, 4.6
Sybase, 4.6
Teradata, 4.6
General Toolbar, 3.6.1.6
generated scripts
displaying for selected object, 3.3.1
generating reports about workspace objects, 3.8
generation, 3.6.1.9
Generation panel, 3.6.1.9
Global Search, 3.3
Globals Navigator, 3.5.3
Go to File, 3.3
Go to Java Class, 3.3
government regulations, 7.6
GRAPHIC, 4.4
Graphical Navigator, B.1
grouping objects, 1.3.13
Guided Assistance Experts
about, 10.3

H

help
F1 key, 2.4
online documentation, 2.4
search, 2.4.1
Help Center, 2.4.2
Help menu, 2.4.1
heterogeneous audit, 1.3.14
heterogeneous databases, 1.2.1, 1.3.11
heterogeneous reporting, 1.3.14
hiding navigators, 3.3.1
hiding OMB*Plus, 3.3.1
hiding welcome pages for wizards, A.1.5
hierarchies
about, 5.3.2.4
value-based hierarchies, 5.3.2.8
highlights, 1.1

I

IDE, 1.3.23, 3.3
impact analysis
displaying on metadata, 3.3.1
implementing
dimensional objects, 5.2.2.2
MOLAP cubes, 5.6.2.2
relational cubes, 5.6.2.1
ROLAP cubes, 5.6.2.1
snowflake schema, 5.3.3.2
star schema, 5.3.3.1
Import Metadata Wizard
metadata
Import Metadata Wizard, 4.1.1
import wizard
Metadata Import Wizard, 4.1.1
importing source metadata, 4.1
improving execution time, 3.3.1
Indicator Bar, 3.6.1
Informix, 4.3
Integrated Development Environment (IDE), 1.3.23
intelligence objects, 5.1
Item Folder Editor, B.2

J

J2EE User Management window, 3.3.1
Jacl, 10.1
JAR files, 10.2.1
Java-based (J2EE) Control Center Agent, 1.3.18
Java-based runtime environment, 1.3.18
JDBC connectivity support, 1.3.4
JDev-based IDE, 3.6.1.4
JDeveloper-style user interface, 1.3.23
JDev-style editors, 3.6
Job Monitor, 3.3.1
job scheduling, 9.4
Join operator, 1.3.33

K

Key Lookup operator, 1.3.19

L

large updates, 1.3.28
large volumes of data, 4.4.2
levels
dimension, 5.3.2.2
lifecycle of a data system, 9.2
lineage analysis
displaying on metadata, 3.3.1
Lineage and Impact Analysis (LIA), 7.6.1
lineage diagram, 7.6.1
locale
setting, 2.2.2
locations, 1.3.17, 4.2
Locations Navigator, 3.5.2
locations registered in multiple Control Centers, 1.3.15
logging in to a workspace, 3.1
logical name mode See business name mode
logical names See business names, A.1.11.1, A.1.11.1
logs, message log preferences, A.1.9
LONG data type, 1.3.31

M

mainframe sources, 4.1
manage J2EE users, 3.3.1
managing data quality, 8.1
managing multiple configurations, 1.3.22
managing OWB locations, 1.3.17
mapping
nested, 6.4
Mapping Connection dialog box, 1.3.26
Mapping Editor
about, 3.6
components, 3.6.1
toolbars, 3.6.1.6
windows, 3.6.1.1
Mapping Generation Languages, 6.3
Mapping Navigator, 3.6.1.2
mapping operator, 6.3
mapping operators
about, 6.2
mappings
about, 6.2
designing, 6.5
pluggable, 6.4
matching, 8.8
Materialized View Editor, B.2
MDL export, 7.3
Menu Bar, 3.6.1
merging, 8.8
message log preferences, A.1.9
Message tab, 3.6.1.9
Messages area, 3.3
messages log
displaying, 3.3.1
metadata
about, 4.1
and database dictionary, 4.1
dependencies, 7.6
security, 7.1
stores, custom SQL or XML, 4.1
metadata dependencies, diagrams of, 7.6
Metadata Dependency Manager, 3.3.1, 7.6, 7.6
Metadata Dependency Manager (MDM), 7.5
Metadata Loader (MDL)
using, 7.3
Metadata Loader utility, 7.2
metadata search and find, 1.3.15
modes
business name mode, A.1.11.1
logical name mode See business name mode
naming mode, default, A.1.11.1
physical name mode, A.1.11.1
modules, 3.2.1, 3.2.1
about, 4.2
Create Module Wizard, 4.2
Transportable, 4.7
MOLAP, 5.2.1
MOLAP implementation, 5.2.1
monitoring data quality, 8.4
monitoring quality, 1.3.14
moving large volumes of data, 4.7
multiple configuration management, 1.3.22
multiple projects, 3.2

N

names
business name mode, A.1.11.1
business object names, syntax for, A.1.11.1, A.1.11.1, A.1.11.1
default naming mode, A.1.11.1
logical name mode See business name mode
physical name mode, A.1.11.1
physical object names, syntax for, A.1.11.1
naming
modes, default naming mode, A.1.11.1
objects, business name mode, A.1.11.1
objects, logical name mode See business name mode
objects, physical name mode, A.1.11.1
setting naming preferences, A.1.11
transformation names, A.1.11.1
Naming Mode, 3.6.1
native ABAP code, 4.3
navigators, 3.5
nested Experts, 10.2.1
Nested Table Editor, B.2
nested user folders, 1.3.25
new feature, 1.1
New Gallery, 3.6.1.4
NFS, 4.4
node, 4.2
SAP, 4.2
non-Oracle database systems
as data sources, 4.5, 4.6
non-Oracle databases, 4.6

O

OBI EE, 5.1
object lookups using synonyms, 4.1.1
Object Type Editor, B.2
objects
syntax for business names, A.1.11.1
syntax for logical names, A.1.11.1, A.1.11.1
syntax for physical names, A.1.11.1
OC4J 10.3.3, 1.3.27
ODBC, 4.3
ODBC Data Source Administrator, 4.3
ODBC for heterogeneous data sources, 4.6
OLAP catalog, 5.2.2.5
OLAP cube storage, 1.3.3
OLAP metadata, 5.2.2.5
OLAP option, 5.2.2.2
OLAP uses, 5.2.1
OLE DB drivers for heterogeneous data sources, 4.6
OMB*Plus, 3.3.3, 10
command window, 3.3.3
OMB*Plus activity type in process flows, 1.3.32
OMB-prefixed commands, 10.1
OMU-prefixed commands, 10.1
opening multiple editors, 1.3.23
operator comments, 1.3.24
operator palette, 3.6.1.5
operators
locating, 3.6.1.5
operators, mapping, 6.2
Optimize Repository, 3.3.1
optimizing the repository, A.1.5
options for Oracle Warehouse Builder, 2.1
Oracle Business Intelligence Suite Enterprise Edition (OBI EE), 1.3.2, 4.3, 5.1
Oracle Database release 8.1, 4.3
Oracle Database XE, 2.1
Oracle Discoverer, 5.1
Oracle Gateways, 4.6
Oracle Heterogeneous Services (Gateways), 4.3
Oracle JDeveloper, 1.3.23
Oracle SQL Developer, 1.3.23
Oracle target module, 3.2.1
Oracle Technology Network, 2.4.1
Oracle Transparent Gateways, 4.6
Oracle Warehouse Builder Utility Exchange, 2.4.1
Oracle Workflow, 4.3
organizing objects, 1.3.25
orphan management, 1.3.12
orphan management policy, 5.2.2.6
OWB locations, 1.3.17
OWB on OTN, 2.4.1
OWB product updates, 2.4.1
OWB Utility Exchange, 2.4.1
OWBSYS and OWBSYS_AUDIT accounts, 2.2

P

Palette, 3.6.1.5
Palette Toolbar, 3.6.1.6
parallelizing large table updates, 1.3.28
parent identifier, 5.3.2.2.3
pattern analysis, 8.6.1
Peoplesoft, 4.3
Peoplesoft application data, 1.3.31
performance
improving, 3.3.1
phases in the data quality lifecycle, 8.1.1
physical names
physical name mode, A.1.11.1
syntax for physical object names, A.1.11.1
plain text files, 4.4, Glossary
platform extensibility, 1.3.11
PL/SQL, 6.2
PL/SQL code, 1.3.24
pluggable mapping, 6.4
pluggable mappings
embedded, 6.4
reusable, 6.4
preferences
displaying welcome pages for wizards, A.1.5
message log preferences, A.1.9
naming preferences, A.1.11
private Experts, 10.2.2
privileged user, 4.2.1
process flows, 1.2.7
profile
displaying, 3.3.1
projects, 3.2
Projects Navigator, 3.5.1
Properties Inspector, 3.6.1.3
Property Inspector, 7.5.1
property inspector, 3.6
public Experts, 10.2.2
public Experts folder, 10.3
Public Transformations node, 6.5.2
public views, 9.3

Q

quality
assessment, 8.1.1.1
design, 8.1.1.2
monitoring, 8.1.1.4
transformation, 8.1.1.3
Quick Mapper, 1.3.26, 1.3.26
quick search field, 3.6.1.5
Quick Start, 2.2

R

RAW, 4.4
Read/Write Mode, 3.6.1
record types, 4.4
Recycle Bin, 3.3.1
referential analysis, 8.6.3
refresh repository, 1.3.29
relational and dimensional data objects, 5.1
relational implementation, 5.2.1
relational ROLAP, 5.2.1
Rename Mode, 3.6.1
rename MY_PROJECT, 2.2.2
Repository
optimizing, A.1.5
Repository Browser, 1.3.27, 3.8
displaying in default Web browser, 3.3.1
opening, 3.8
Repository Browser changes, 1.3.27
Repository Browser or Heterogeneous Repository Browser, 9.3
repository optimization, 3.3.1
Repository upgrades, 1.3.29
requirements
for business names, A.1.11.1
reusable transformations, 6.5.2
ROLAP, 5.2.1
ROLAP implementation, 5.2.1
roles
dimension roles, 5.3.2.5
runtime auditing, 9.3

S

SAP ABAP, 6.2
SAP node, 4.2
SAP R/3 system, 4.2
SCDs
see slowly changing dimensions
scenarios, 2.1.1
schema correction, 8.7.1.1
Script tab, 3.6.1.9
scripting language, 10.1
OMB*Plus, 3.3.3
Security folder, 3.5.3
security interface
about, 7.1.1
security node, 7.1.1
session properties, 2.4.1
setting
locale, 2.2.2
message log preferences, A.1.9
naming preferences, A.1.11
wizard preferences, A.1.5
Siebel, 4.3
Six Sigma
formula, 8.6.5.1
methodology, 8.6.5
metrics, 8.6.5.2
slowly changing dimensions
about, 5.4
type 1, 5.4.1
SMALLINT, 4.4
snapshots, 7.2
uses, 7.4
using, 7.4
SOA, 1.2.2, 1.2.7
SOA integration, 1.3.34
SOA-style architectures, 1.2.2
sources
mainframe, 4.1
sources and targets
supported, 4.3
SQL DML statement, 4.4.1
SQL Server, 4.3
SQL*Loader, 4.4.2, 6.2
SQL*Loader code, 4.4.2
SQL*Plus code, 1.3.31
SQL*Plus window, 3.3.1
staging table, 4.4.2
Start Page, 2.2
starting the Design Center, 2.2.1
STARTUP
folder, 10.3
storage of Experts
public and private, 10.2.2
structure panel
See editors, B.2
subqueries, 1.3.33
supported sources and targets, 4.3
surrogate identifier, 5.3.2.2.1
Sybase, 4.3
syntax
for business object names, A.1.11.1
for logical object names, A.1.11.1, A.1.11.1
for physical object names, A.1.11.1

T

Table Editor, B.2
table functions, 1.3.8
tab-separated format, 4.4, Glossary
Tcl language, 10.1
TCP/IP, 4.4
Teradata, 4.3
time dimensions
about, 5.5
timings
viewing for mappings and process flows, 3.8
Title Bar, 3.6.1
Toolbar, 3.6.1
training, 2.4.1
transformation, 6.1
transformation capabilities, 1.2.6
transformation libraries
global shared library, 6.5.2
Oracle library, 6.5.2
transformation library, 6.5.2
transformations
about, 6.5
names, unique, A.1.11.1
types of, 6.5
Transportable modules, 4.7
troubleshooting OWB-generated code, 1.3.24

U

unique
transformation names, A.1.11.1
unique key analysis, 8.6.1
update external table, 3.3.1
upgrade repository, 1.3.29
use cases, 2.1.1
user ID, 4.2.1
user interface, 3
user interface framework, 1.3.23
user preferences
displaying, 3.3.1
user-defined types
importing, 4.1.1
uses for OLAP, 5.2.1

V

Validation Mode, 3.6.1
validation results
displaying, 3.3.1
VARRAY, 1.3.20
VArray Editor, B.2
version and history management, 7.2
version information, 2.4.1
View Editor, B.2
viewing design details, 3.8
viewing metadata properties, 3.8

W

Web Service, 1.3.34
Web-based access to workspaces, 3.8
wizards, 3.7
welcome pages, displaying, A.1.5
Workspace, 3.1
workspace access, 3.1
workspace session, 2.4.1

X

XPDL, 9.1.1
PK2PK'AOEBPS/img/topo_workspace.gif5bGIF89aP???π@@@Ҳ999iii444rrryyyvvv;;;<<<333///OOO```ooo___ 000ppp ,,,PPPXXX'''JJJ\\\ggg¹)))AAA---˺ɷ***ZZZ666KKKþkkk555mmm^^^RRRlllSSSnnn777YYYTTTjjj...uuuqqq+++[[[~~~NNNUUUhhh:::|||(((}}}888222]]]111bbbMMMaaaVVVtttzzz wwwxxxddd{{{fffsssFFFEEEcccWWWDDDeeeGGGLLL>>>&&&CCCQQQBBB ===HHH,P H*\ȰÇ#JHŋ3jȱǏ CIɓ(SV0`K.b:1G͛SbX K) Z,`BI3K]vHJӧWsDÊ(%n~ NɝKݻz&H֚\ 1M]85Fm,=1;'HS?)|1T"9Y1aPJYHf9ZnI3z G/iR\slie(IX,zj910c*pdUEtn蝓vcgl_P'Y@E 8f\`COE9SB^8P{A!Ahغg@VNP]d+.ӭ;fٹk.TaN락fƙ)]kÓ@B1ecSūȭJʓe;y,܃&;e<jfE=] XcPç,ȜEQ#@JaX}F6FWLCa9'QuP[ΘQ|NSfE^7жqW@cJ,2g\r^e\|?=uE)Um*\ͅ\gz9n)fFQCnwC0NK\9eRz9͵Y9dx|T=TxŔ6sAH\M9~v>&|&#E:V.9䅷\ٟnv/{_Bi'ƲnwqW?o"&_EsZԞFR Nprt %C?d{s՘uHCjԩV̑ K]Ě``|FYϚJGbj/bsE+Js؎.kVڕ7x32=k츆 v=|TfKbiک@ H@k\AuljGY|lMKڪHJf].`xV **blV5]|@QU^k@z^v E.i_ImЯv7  '>i4e0ħQ$ aKl#nSmF+a<_88 V c"+dm'F>2qd h%* YVl$ku}3s-,`Fns FNs}QYϔ1f찅?Z7V }Wxs&`HD) ߬`X҂rr4ɡv8:կ9@lFiDY׻ƀ g`lXV9}?'{˚l\zY.2@m47M8#N1T:5#$ԻwcB܊3Np@4J8n1|C x kWwh8ZA2VDPG7aoCٹ՝s@MI >Aσ^t01NQۜ9 hIzD>"8'ʏ~C;}GS8N@1 OX?vO?~7+_y ZFwGx-W:s~>{.08h 5 Y ~Nyw /"5l~e{@ *w~Wz(wzgx|truqW}wW}v"G/#V p7|W| ~z8||p({sgׁX:#kQc}r5 M0 --؂/2~gv|k0t'u?8yHח.PFxP[ %()A 0 !pX[Ger7kchoP烱džACrx:Puh"8Hjyg+h`h.x\؈ |GvԷnȁX(@9@H0p <g oъǡAh0 ,xxWȋX~]._xjH{؉q(t(֘$/ ;@b1oёّ 5X U o@>,Ȉ ~`ȏGxiɘq(ljp 9Ȑ I" ,R ZѕZq' kP%PjYЖ.0)XZx: h'Xk%FwHoH8 ٔR9"`ii21xdd| #К#hl.8h0x9zz|yH]xhmѸKYsAy2Й99)0) 橚隰kٖ-y4uٛ 8{ُĹ Ei)Iؘ9i)yi) oXx5|oP^ }HGY ʔ J jr:1pY繚:i/9%ًi-zx/ 1a3ڃi Ը z9YILڡٞ!*pI3i')y9`~<9}7i:;*=ڐ?*p ډEjvK 91Ijv^IVJv(JYln J yڤ"*Z8ȥ韶;6*}hk::qzZ*晧Nʞ*~Jzx z j誠N:*:xJPگtI8i|ck`dJ {ZZZJG۬z }Zz*K{Ax4Zz8:r:ʱZ*O+C Zp/kk13[Hiɣ^ ;k>FEѺ#ڶ&'٭JgZyK&ǰ57 mJ` @f˸ʧ#붼 ʢo'VKz\kŠJDBg +r9[;+Ypۻ4:oꮜzJ뼮{˪z:t۽w˻ {6P|ptt@L~rP͙ ٌRXn=I>ڥ롉~曎Y x`Nnݞ|nC0n̮~)^~N>횮u[pNldJPήɬt( NNn/,_0/2ӮJ`;_=&|#>.?EOG/B QS/&Cϗa?d_f&,bMmo]=P-//z3oY0o&vx,o8 M.RHoqiNt !rO϶ϗ/ϿߏT‰0oɯt#_T?Ώ^YY ƒPoy?я!o ?yPPP9,\p$P, bG!E$Yɑl0& E HOA%ZQDAPH`υ>8Ō8zDד*Y~t L6'3[qM N`"E7ab[I͜;Pe̙5ogС5iw ^ {U0ˆe,cղ o'^qɕ/7^zU7dm5p guCnqկg{ϧ_= sFGwuU\Î06VZ̬"γoB +4 JM"`+AR6ssp܊= kF 񫠂5@@Hԃ@ Lqɐ v<qJ,O ||ü* H’dr͏ (' < /"]C5< 8l`,Ϸ*tK~O134PPKQ^mΞd![DE+R^۳Sr4SL!lL6ԒKtEQT=@a!sϜX{5w_nXNȋAe igNJ, \ZVruEeZ5@A8`Ŝq]bt} w u5G#X)N-\tT]0?LxCzsL UspcUtOoŏl'.Ĝʼb%1<#|j=PHX 1[o5X1ۇM7/$c>|I 8H>7iH6Bwl6es{ !tn'.rxH]`[9ksJ[f` ]Go9^O߻#k[q4]zrXOc/k';ؼ7oHW?$ 0-`M\S3,̉/cEl [XE: bl34sOw6 Qu??8b Qp B|g&Rú]m&AuNӭ-[FƜ-nrsn'iw3tF/?p3 ?' E`!lUr$2jNVn9Rd I d,` 9~%BT تK0(BqR3K0GpLd8d\hY>B\;3^2H@N|YKLokK:Z3 -ZUTLg6Tgش%ɩvV~k2Ւ`CiMw"(X2ձN5"[UYsH/H92&,@7EI[qe# fs sz;3b)iP!MUD_)M6΅nm; 亹,L V:H4Ȣ= z DQ@Hİ7I`+8 v0_qWf _>򷿵!oS;R69x$`X E9;ȱ{HdoKXAMվx1eo;sx8 @7$`318g^|]j5w+7 5rCx#:h0V3HMG[я"8^-.":m4ϋ2*y>ntEbַε;W-k4;zM뫝6`YzHhǢ@CcҾImwY9y{na Ur>,lSHX6k]e_t?rwwWUa|Sۼ5)m'L H.n^Y$*g9iL7Kn[]m_'54A8JGY jc\v=N|C䏵vJ' SI"wgՍhG~R>;n2;C pznS<У\./ۓvD6{^#!2ok9H˳NǼ^Ϻw#p=ǒ"xZ'_1' oɒ?}ﱯ}û_Q ٰ,5K"1?;C8+:13۵.ý# d,so;""d$# D9壽;&00JcrK;۽4@"4,,#8&3#H# 3d; +kj>Ok< . C@(;~ۿXD8$@9$ x¦[D1-*.<#0 I4Ay fBdCF0FJ4~DJntʮ0УH{D䳯$ʢHGõz+t++ȷ|ş$9K?TCDI LL ;?MHE TEL|lJ\(d8XFETM֜3NqO\M7U4UI"֛Dծ XeܫCV]NlSmmn%P>Je%rA֋P`Wk]Wz ?]%oELf5ןLh݂Mj LF҇ӏ~M!HDvU(Б ҙW|4R]rgatׂF L2;NA=gEYeYZ)$ZR]`N`^`=WM<0>@_%烆=oWsS쵟N5]B NߠL`՞A2Vҡ Y_a"˾;$qaH] bb5 EuQ}SE J* 6nc7~c8cB1XVb.Lk?QcS3ӻ$, [VH'm%c>S S,eS&GFuIvGP #`L S٬ buVXNT حubέY::>cW6\N]FvffkZe_^d,eN1GD@l@YxX4'yTI$Ke$Z~TPBƚv`+ YzXVpn!r|Ȝs%%za|gBJC$dU*xNBvF$hG9RS6B VjinJY!q!x|-wN_tR$Ёl #QjBfdK)AkZLi: QQfख़Jp%r9~y֨iXܩvm| zC.+X4-dM+iTTn.W+.YY*jZcJCGT)!j6CQڀ m /[`^hEq͗{͖̅$LΓ\)2ˬA6s3>|\>'t]\0b!4g52,K*p7{;i?JC9,K7}7'߿P li*y3deh6{--ߞ_=pl8e7~.zrK?=Mӌ>uOׇ}|=/z??>$#=ʜncY<3ƕi]{Kjʬ5_xr-.bt]8>b~&A !0 : y3>!M&n;"|10jzZ1!nhz9[9Ç`q@BҨ5n|c }9w)˦XX3,>i&1 "E2L^IR,a9居hA BG?f`V>Ғ|e" YVu^?g@2$e)WŰ M}I9Le2|&4cRּ]9{~$/}K`Ful6@opJ(-S7 )Ё_7s]3gW)M((F3эr(HC*ґjTtܦ&=)Px(D"Q a)NszSR P| 1)?i1 奴|*T*UJ?])8C@TYi1JNf=k%;*WդpL׽~+`+uoL uI\֥,f3rvbRf౑U]Hβ}mg{ou-iOے-p_+Mbmnu+G}.tsS֭ȝr' +񒷼=/zӫ5oN8z>msFì+[0>0aV.)`Bi;ЁW"P Ȗ8Ȁ+@  07<`ܠ41 pc5q t d$82 0N.,eڠ6c̠3HSH yf\5n;ƲDm(([ NyTh#6AU\sT9/6_<9q!Ϥ9@r<R,-sa3"l3Yl~3%<xg@ #vY,hEWX xL`EҖ1zc YD62QZSV-{asϜf ol_WPl\:(Fp-E7Fц%]mtpO67jV𞵼mf\t5a6.J \5 ;PKf Rߢ55PK'AOEBPS/img/dp_types.gifvGIF89a3,3H*\ȰÇ#Jŋ3jȱǏ C ɓ8e+-fM7qN?}9T(NH\ʴӧP$IիXJʵׯ`ÊK֫ͲhǞM˶۷puv]u+(߿ Lx0È!M̸IÎBLʘ3Ԭw2ϠCV{L+ztꗬcfaƅlx9ڳ t8`}_^8mʕCoI\xZJv3OHwZў_\o%٥t_t?|ࡖt)FނWwȝawfۅXaofh|( } -P֥{'h`#~ʧ;_bFd?D"c#.)'T%H9fIlejan&MvlC6$tx:Iўm&S7Q$^ԛ_L)?x)j}*.ik k[kvkU_ۯ{m6,TʞʬzvJΧ9 C~G䦔nњڮj}yK+%p! q3Xĸb|je%$(,2Uȭ,~W7[)n1/H'q2&Pt5rX*wSg`m6e]K9g\lom"|XՂ{ۗ/݋Gl]6{վrN6缉^[êי'/WZkZG?:†FjMz_2~opŸ/}pc~as ?P3mObe%A zJ,ҍpuW{P1N\ad3yN"8!zVEc{# QhFE 6XvZ,s.yvvv8zKơWrTO(s!E͎b|:>\?G=pVs7H):|d* `h#q >DQ'nQR%,!2-/e6FT˗PLf#efԶ)9ZcM)N O"J3i{!,eDTɝT9NvA^NlV&GE>q\3en7gM"*rK2 YfԡL(nsv[,Y0(5U)ѕn+Y8#ARL,7x=*DG14DHu;"S2TTZ5ɠCM815~*Y'G)n_y.J~U ,΄ϬZS"+S'RgWWgzFU1]*Yy:F@8QVpU';Գ],MG Ji|+XU!/{D4tmGܲ`[n]FmuVRw] v[]\yw9ެI/w+*qakT8my{`W ZZ/!7 a.O~ӛ@Č1W|itSS~Om.gZS >vcU-MI:1 FX.!tg30"ߺY6{em[9+:ߜg{Е3ƌ^Z÷,t=0}V4N-JI?ζRr얣ݣŘ7QN1i;oNn bϮ[< ]q^І-v)G98qӣ<"t+riN|msgx1Ywuɇ7t^,]{B5]x8t kۆK5y×T`6DΧL.]z)O'8zuޒF㛵$`/Yo>g_5 o48Y9?/CVp뢔Ԗ^dL 79gg_~OӐF_acygEB|qefiu'78ta= Xg<ÈqC)5YYIpy99QxKR*9z3s Z7Bl0&DXx*9"ØYsx7\~i`~)UfgśY4 uYK\UXIN68g)ytS%hVـQfh^GI閏vYXi*rJqm*ʇQݗ]zHUx|2:u !M0悐-eKFKEK/jڣIm1*Xxh|؞O J:ABF؂^%sWrZLy٢fʧelRA{']U}TJ\vtwY9 VZRH:X[24#+HQxjeLqj*5L3Bq6iѩ1iʡ :1fǠȫĪ4)ɐhF*;PKA)~PK'A!OEBPS/img/olap_catalog_access.gifiGIF89aE11,E H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ۷pʝKݻt˷_z LxnF+^̸ǐ#K^ʘ3k,ٲRĜC3[ҨSk6װK_M6늮k}h7.;·+3z{qrUW8)Bo$^or=c5ؙڀ( G֝e!ЂyEXjDbxӋ0 g}X@G YH5$e26癎<oAB8t==bچ97=^)Zu}皃Eff~'|gii)dZJ}}d>zdbgq)whlL()I9:*Ih*&j$yGZ脑v马.`hYFꬩɥԂګΊzHh~*]-hjkk[1fVۄVq/'a[&,ݵW+ 71c񐍺e`M禎k.9'+ 2c-{u- e(3'-?+\gόtv\C :3ә R[.5g]+eWq*P :6~As)-1Jkۄ6[swa7^ҫcs;ya== ILݯk3rpgGM?]:~3} Ͻȝ{0 s :Z,my67D{.%~ ^7>>9Y rJayLv)›i+i _~d(Tv2Pz?w#|<&:dO%(R^Fƍ^loU1Ee,X7;F""8aQ}ya\$hQjU:j"D;d'QUU&TG:_1^I ~͕lBEcsiCd%9T S#whoԔ'UHBF,_8Qِf:O'$Q֩v%'O-$hr:}zD5Zt0kɨFn `vBJҒ6&MJ3ҕ:A)LgJӘȴ8)=[Ӟ)͘lqL8(樃upF]#yKf񚠜Wy\A^*˨_?؅;"9܃w:s>1};??\&YNO=s| Y]{@'*8<[ĺ0hkzɋ;^]?f̻k[Y֛{}'{Wf ~ȏwOϿ3|\LKiC|s ؀ }0Hϗ*؁~$ x('#X.X*2(,Fc~7<؃X 0DXFxFHL8J؄PDJw>xX"hB^^`MycfYlX@GcHHruXKWBWHEmlt"wtXps7su$=~胂OҁGwȉ5)VXH[vȊDuȈb{KLx*qAxxw727dcEhxNHȍ˘>2vk}HxH]Xɘ?dJ|(|}8nmihY鋩8~2x( ɐ y ً )&ɃHx/ yt1}w{i%y)!I!ɋ)ɓDY3ҎeH/zN9A #)E&=fą:hy9CُmكH,-egi:ɖ_itYXi9zɗ}yUɓ^ VId.) 82AumI1xّK( oٕIəo1ə*Hy9Ȉ)JɊLɄ Y9ݩ9fɁ֙뉍Ij)q#bK9?8xIz ڡʡ "$Z J(.9 (j79;ʣ=*8/ڠ*zn@z=*S #Bʒ:JTegiVJApإ\"bJYm%8jjX (jx}P::*:4%ډZax-yꤥ꣓z'- EH IJy:x*o-ꞝ$ڀګSʪtjZ*fʫ⺪!h٘:GJɤh:j ڟZzz:jNqJZˑ } ꮍJ5Z[њf qw:y"znz*ڮ%k+۴˲h *) >[괾*oCJWkjPkq˦YD z$˵8ۤsbjʞyk{+#뷐 ʴa[k zZkX+0ۺڵ|:;z:yx 6K ZˋpdkrfK*kĻ ڭRЋ*.ȼjYZx+`iɶ[ a+;X{k싖[} 9J͛ U+Z~I{l˝gZ <k8 ;nr9(ܑXG ,0;ûz*\!"k9ii5C# [[ؐ\YS6E++=P)2el K˭a@N,9R7|Xl >l{ ><ӈƩ,Q,s,2xH7]BG| |>dk*gʳҡo{kt,lj˟LB@ I{u ˘}~v<|p[Z;C~Swlƽ)& O kԻx@=w\MmMƌLzF,;ј'-MKΦD̦{!l%8ԙ+AK1"vqR# m˳=к;\uwCkՆ\_k9ӨJWܿ5=^ aҼD<3H֧+֫+v=ܱ΂Gݶ"Ђ}]ѓ-F^ڀ;S 3 ٛt(}״]]̽}[ڜԒ ՛ mJ Н]r{:Ϝ ޹ߟZ ݒs݃ {ܼ1yĺ]_߄KhT ށ ޲}]h ܍-*MZbHaM0n.=۰9}GK=~?Aޔ MNn]J*+\B6ޔ%啜!o~q)vnnx_,~d<^$~|k׉ z㐞i>nޘ.Gn>jn)Q^,x.nn.ɴ.ݝ麎ۛM͞ϞÞŎվn4NǾ$bEY(~.n|>N>ߙޫ N_8^(r &ޘh86+O>e'o2F!z2L_GC/XoB0k(`?6RoM/a)fOU?j4o^r m}zYv]/Mene_1/y_o?~Oo/z_yDƟyh _A֟b_?v _s-$X A.dC%NXE5nG!E IdK1eΤYӦB)u\yOA%ZaΝI4SQD4)өYnڵiU:z%[YE96[q]۹y݂&\aĉ/fcȑ%O\e̙5ogdE&]iԩUfkرeϦ]mܹuo'^qɕ/gsѥO^uٵowŏ'_yկg{ϧ_߾;PK1&}niPK'AOEBPS/img/lia_all.gifGIF89ap3 'Q!"v**(,,V..?33333f3ff55299B:::;;BBIIMJsJJLLnQQeQQTTVVZZff3ffffffffffhhnnInnrrwwyyyzzz~~倀撑֕뗖f̙̜͞|:n_p33̙3̙8%_!!,p@H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷^1K.] " h߿wkDpIbaB U"W˘3p!BB(2X$@`kͰc>"A ; `1 N֯&G| y|zuاgΝ٩_- A~#_t} ŁYFaT DaASLC6Dއ *TB= T%RQ@8T@ 7 66ag/{MXA alZ2vQ"4"#T8+E;FfVp$PJ٩]Wwйtˍi\"*ݤ7&駠 EMAr iըM1j+WH@~+s}B6F[uUZGmZ(B*e҆+nVAk覫+k,l' 7G, V]x X,ĠZYFȭZlXEpD$ 0sl3q- \h7mHXiL|)nޠQ{؁+xŗg`jd׋y2imjc'!yEJh]<(7'WQg17oJ(aRD.@Gߌ쏴^ZvYb"k:{:PgPBUfR6lS䰤7fNPF`L]|Uk\?o2:iq-ˋ"W}mVR?V @_qB(]), Hz ԗCB*zƉNB0 gH8̡w@ H"HL&:PH*ZX̢.z` ƈ0 &\26pa PF5b0H@Lf7sbr%(&.0(`5 l @DNۈ .! *XU |א n\§Œ1؀ LL2)1UJh5 /z)^aQ vh9g>3D::`uFS\IhIzsq"8noi'qg;$ 56mՂBO"I۝ԩ_iϖ.)"fJӚ4/JAE䡿)g). RK%tɓK8]N4ԡG;cIrQa tWŪešpZf OFzNjPˢ[d%Wಘͬf7Yz6~gw(ZkD+j5ĢP`Ku͗T5VZ}&NsΧ,+Qp72Why `]*Wƻ(׼7os0@ׅ /@"$ rV̿@4;c9 A 3ؾΰ7aviV7 qX&gL8αw@L"HN&;PL*[Xβ.{`L2hN6pL:xγ>-Mʶ/~ 6 W@tٵh1E&J%c?0db/x! 3Disy.IbX`Ӡva<,1 "ӂ a|pD~8@ 6@=`'`@/,!58BA2GxR}ZwplR LHiB}gs 2`!5tep".qM`V6 qHIu8l`\*W@H1Ϲw.6&ѕfp!ظDf{^ je~nDo-魭y=KnsۅGخ+~ZP{9;gܹG}CVC)s%ݮ$ӌSY K7O{}SAﳶ?e^V z/h~2/|A?{jȇ&% OîS@ަQ #xEra=o^'T_@~wΤ(J_!Q\HAF#{QRK}D=pR%(ghxu#j#Z%?~GV$`WEl:GuJN5Wic|8:|S{-;B[q8~р췂Iт#"N3TSӂa9:sG7Gd%+iqC!GRHXxSWw=UkUM Ͼ۹+7oR( %p߁&T|!DQ aTAThvR_R` l," 6ԋ6Í.4c :@RNhjbH& 28hTxT&\rdG=yc 9J^ =h}]|%%ffR9,PPB[.W}RyנkJ%D鑎>B^*#yאB ?zdf*(j(R(( 7p)^e@x nß*iƪd_)Cy`i øB0nBEHpn!%l *n 뼔^+ڎmXߐ:..g+$;Ű1<1R , (r[rJJ2 ⎫<sc7Zh;"z2/ͮHJsn]) &@G4Ab1>Ќ63t/\݆w>% Bϲu !x .\Nѭ#=j4Ok2q訷:#'yW~.p̮"^|~VInaƣǣ L HHMk,"I3E:2*Q"Iɬ42̤&75QT(GIR*y)D(08L`#`@Zڒl@UrpH,#2[MTeD>_ꄙ2)@ؼ& rK^JDD8/2N|f6)" Ę9z̧>~sB1 XS<(7[̀D'JъZt(D̃ ڹw3(4Sғ0}LcJәڴ8)6WӘ4DG3ub hOU̜:uO*T*ժTiSԡ GP XJִnk[ֺj+\ײrEFzsի3PM$Pz ,`WVvld)nֲ,^!َ쬒;JT3CuWg+ڞ-nwfmk;۟BoT׫u.JyK\Rnu]%ntY;] ||Kͯ~ƷeeY[~;|` wMF t@Ga(>Mx.1g4Uc8r'9Nd&/P~,c$OW0KV`L2hN6psCdtw >πMBЈN -FH6G[Ҙδ7/7s 9A $mT"UϝNWZ͟HG ֑vMεwkKre &@.V>DuW`ui9bOemh{˖6BcX=-c- YaxN4K;&lu s^,[>6TV\B(xMlsow)yàO&sJ [/5s#f^//v>~Kکqg}wyħ}cvslfP.wTfg#gye'wik7eVg؁ 8x!v7#Hp>wo'I~sƂ8.؁| XVvGwj.plWrgtBvIvForps @Mz,IE)9[*)KkMO;u$U4G{MB۰6۵:oղDKN{ ; c˶$!9P 2J۳t+vVA+ɷJ:j婓ɸ;8*ۦr*O|^M抷Xk;*ພK+B)zH3᪗J˴꭬۹kQy)uYI۽4IkwJ[MI[B;AꮖJ(* 櫳{z޻d+?jɦsj%Z˽\, zXa+!J ߊKJ\ڑ:GKD\+;!ܭ iB4,KR[ \ =컗jK5G@zP] xN[<ÈI;꫒|QÛ:Vڱ+*˻k ʳ7IꠄZŕ\)PۨUm|*n*Ǧ X<ʚ ̭lŌTÅ;h,Iƈ b̓,ޜ<]kTQ8*V9Oܷ‰2KK@I==8uc fC)-R6*qȌ \0(][$[/} }%!=_h8 ,=.m-QѤ5NMK=]{AD\^]Y[}Iٔ>GkM֪CXqm$IFm9,J¥|ųKɮ,Xh&{h콌 ݼw+Ћj+cM̫Ņǫ,J z[~`b~֏jS!xS~=3nu~wn >k؞Yp*|xԍ ԗݑ{֕nӣ|yޒNP7]O'"钎x.. UNfwƶ0 ֙Zm`vյ. Y I}Ϯl]옋,smF(Hxi RaTh}IiwszNjnlΥk ͜_i>.| k7t%ʯZّݢ - n.KHڑ}۾G!ȀvKGwA|'7dyG'~Vk$I^>ͪtխï͐]ɭ^}Ǿ-g (BzfWx~y08xjN|.e-Lޢ銜Ң~e|,Q? (H/T^ĸ}ĉ]iL`,g*6bO}@~ y_$}kWHfSk&:|. BX LaC%NXE\aB!Y8(HRI!DR /'R,)r+BdHgB@RO+<:թUX^zUkըPulֲ[ՊE۶>C&˂nuCNh%̙5uX+XMr;YdƏ ܨysDi;v(kF6qSoY'P^װa*lˑ*zZѹN;p+iu[/f|1K$3h _O =j!0rMA3=J1:4k +ĭPbBݢ7 !{Ϸ/(3C1JrG(H!& #sL24L4Rd6rcK޼\3MFuQHcۄGhN:NMCuT'7- UXcFSdz-LG3O$W`hArՆ"hYgvZiZkv[m[ow 5 tִbĔ>w/^`k%0Ce'|tM7S{7OyEʁ#8@b~;8!Pd-np9 =yfuԉfY1 1LMCwZyƞɚ؜Yφ]qIN9Z~ ZAo^)i tyҼFri 4f3;YdL.q>(jzbtTo/&ϋ*PMc[x%jiTB_oC|w{/xm@@5VH\)@Qy]noH}+뾧?q! THPOeZz0~V9A_Ԯ%M'8e= B ^ SՌkĠB;$H$ Lk,cDKs:Z@1drȷ Dk>89$B8Ó??'L6BMZ]%ϛ _EQAL2<6֨ |/K"g# h@jaDk|3t0*0&XD;/E۽ + i@&X2>$,=R?#.8[Q.iT"6u+EK,$[Հ83(~coǂ=892+|#;$|Ɠƒ2s:;@(ɼy?.QHD :(p|Ġ'Q\ė<;C rJIISD,ő;SH \)$" ȶ"@SsħDC.C,L2Lư- D̋r8-8R#J,iĆ˿w,4 t:k˝+F G3?tM`l3!HI HhkT? VDdR@G M5$SEtT9DCF9GLNu4?v[In+ʹ( $}NSOj>D>(ëq\BrFaT4n< 4!3/,\3줏}T@bTOŜ̳P;' @;>L̟L8J\HDF52Ĵ I|)97]6S-*MN TIg:N`dSUT'WO#KJJȃ5ST E lQ+% M?3u6eCJiF Gt /IKFnL3JTqt#=[ZIHٹz3Mĝ[mܮע[M=2(MXM֛3[ۈک#PFahǍ]=\Ylt͍ Xνl˜ ͒T3BՕ ]^jY0uH }C,Rq( ܬO}5-ץx߸{ESGeVc|l&5 5НPŐZm[2]^x]୅YʥRT+u,7"ݏ4[(%m%M5a!Z]M,>FN=ABd>^ .\au b23h@LSJb[`b-։e `@-cB"&/Bf|TcUn;V[c=a41Oe@.dRn[45u-vwVv)~Z ])N01.ea]aEe:~;.-$]Afj^]L^ṀE M\9fjNg]D>f)Y2guga>el ~gghh.h>hNh^h,q赽~;hhhhq>iNi^ini Yz1wi9YuiiijiH^^o+,jjjjjjjR60Y>HjH*Dckkтfn+}!'ecalK>Il^Xc2 63ZY쵙=~2*3Snmދ`(T4ОAFmG3umfSLNNG^PXD=⌠m`Il/6lQ]O-M)lN!io(fv35uS^%FVuSP|!+,,p{Ѕ8.Al>?_!Fl ?qHd}/XK^ǀɤWfmPq^nuoFCx%rfgp(p})Gq 4 8vp,-?󨙲3q54s!Zs8r;G&E7s@7fjn %tt0kx~?wtʆJpFܺ\DPRϊ R LOmEXN?qO׈f]mu$&lATGqWP 1 B``@AŒ7r#Ȑ"G,i$ʔ* ^ %!fsK/s<ȳόA 9(PFe2yhώC~\ R!ÇƤh״jײm-ܸBZ8*RbT@i";fM|څ*8p߼Qw6% 㽈unrUBHHA-!J4{Q.ԪWnݐ70 3iō R# )vѥ+vm:UNTi77p+Xy͛9iC&=:Z 8 Ȓ.4 :8z6a{{G}vnmd <Vex -"[X{S6aׅXc<g\l Ȁl ӝ#UZy%B2b$pbtcIYey&kZcW]Q7%yWjg%xz(䧢H0Zz%jfz J榥]jWv5hb94ںZ=0ZL_A) R+ͪ+H'Sd U-(ّU3YLŮdtv AHоwSG$9f!})  ЮW+ېwz/'GM;pO6l ^zHe1_p Fl*=)+z3QLΜy|j YmuUޅJ=vCs$@VOv "C uGަY qZJ6مkFGٗ!j.2ɆE8[9dn8"iWo$~Qκ&J:搜Qʺ¾zy&ϧrɣ.o-ٖ)~;^RE&B!|Rk+~ZGt}+z &g70D/Zz+ 5~ T kqCH%05:a0bK(Cpo܅;>D,.|l(D԰6 I` K0ᡬ\&i :r;xӛr7-v2 aA"QSD$hXDT絯`LZˤ`&0ɷmz9^ظHqO;%^6Td7I$@X3]eE@nd+3ݒʥRi"ָҵI m> I V/+j\2N/S\ ֙q}ė}ۚG;ȱ2v\gIfDsԃ` E}&Jx:C*2,:&)[$BfS}iG|yD JG:~(eJ$(%.)R?Qtik\;oɔ[dTgf, ~)\iCHѤuQK-[RD+\VqSʁ \hp9V"Um 42Z6{,d#+R,f3r,h+਌})]*ղ}-lc+Ҷ-ns6;-LS=.r\t+Rֽ.vr.x+͹$/zӫ}/v+ҷ/~/ ,, ;PK9 33PK'A&OEBPS/img/snowflake_implementation.gifT;GIF89a11!!!))))c11111c1k9sBBBJJJRcccckkk{{{Μֵֽֽ޽޽9c,H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜ͛8sɳϟ@ Jў4*]ʴAJJիXjʵׯ`ZᴬٳhCB=ʶ۷p@6ݻx\+߿㤫K*o #LI6,@g "x :%[^ͺuEP9wz4۸sfc6ˈ:ȓ8sԻq.\jqϳk]9 x҃.&Y}{칟| -ZIRp]CPe& 6q1YxATxކ[|7ԇ_ +hHbpS€ &4Hjjx?7Dy"|DrHZ6FT,bF" 0.$O$喸蚄QXzh!e\7%*@q7 "TlN案ek}#y qzXmN([6 &a3!gBS妴:ԢAfBYi+Qs !}`v*Bbv]o:SogpZ=cvHb@Iu*tU^^N|{t梛._8!c9{ U %0BpLŬj-;{YG)NU!(]C7/{#>)i4IC,jNyB֨ Խ3Kא;),ۖM`VӊIؕ1܀g3PMgqۊ͸9mudz@e]9B>OÐ8㙪x^GۍS{9rZn3qKκ< ;[3Nw}TŇɯqT(N+?Yt)_ wsnE;Z9J(.PaN` @S[x]U:2ne-`\6XЇ.L5a&Dd#M16ELX̢6 bHFمoNŁQ#oT#vAc21DcfBnU4"F:"" IEN\cMJ(Hģ*x8򕫌%,g)Z򖶔+sK;&IG=8L2Lєi,f'XGWr2&59njӛ8IN_D$9kb$]Vʁn3'sTSټ$'8xAЅTd(COmnR5f=r|z(=L?=@Ғ%"JWҖ0iLU*ӗB%cCyLP@ P@R 4KSJթZUXjVծr[W:֨T'ƈTMacF +6rL׾ `KMbԨFՎx% (W*%C6Q hGKҚ|htf$Zͭn-Nu''=kSMrM;E871@h2.0r /.)^bkt{?֩rK_6ѕkwJS<'|`#xަ5w( [_2X(}(BkQKT8Vooq"#w3$hpJ]hjVWN{_NF׵MqJRhN2$)u*Q;ɤDlhA:*Fb_ޯXVլeLwzӞ5GTQԟqc\*Gr@օ]Ep4Z,i>Njryu g\uиƶe80@2Fy1pqiDs =kmZۀn;*3%+m;g,Hlך}눇vś$ӝ09j'r;G?yJ^o;?s#) ':Fn +Σن9N~+Gx6-u Z}zw߮]Hxo^ ~n_E =Ihjw4~°wsYW7pTb]z߽χn\?={L׽C#_&zn=c۞>\q J7;ړO?ׯ?/ٲD|3͗Xq}}a'{yucGeS}7pwppwMr*"yt'ݦoQw XuX}\(w9G,'0% gxlMUt-8{oD.x{WyFsIgnO;x=+b$uE='t7agvpsvuHhIvUz kQ(azJJH G|,pBH&Xxzey3'x8hQx 0 ЊxQVAH؋XD+gH8i(ՌXYWGlfk(XH8h00x*phnirJT˷x]h( y (HXh b#7!AGP6|(R' E|46Y8y<=yB90RSza Q鐯a鈏hxYXaI8hY.G -D>;iQWrIiHPĔMY,8Xyx qA{iy#m؏0J8AhGQ!lP}yh) `I\iю/@i$șn YykQyi{YPKiiᘛb&ВbFD1_៿Q `)YԚy9IZ9yA Jl.k虶I-zISq :ܹI':1 iW'lhؤ+JJ(U5QOQO*Pj{iN:@؜'E&iy爍j"ꕻɛ\LQ@p hJ6%0Р߄:*L1u*wz?hϙjj)晘[I㨞鞾1Q`jC:.vGȃJɏ"xy')XQFltfI79]ڣ**:Cת Dzz:꥿0EgZ yI*3!Y*J*> ڰ+9 *6ʠ8:PzYAB d۪'k˳V+` +^e(#:!GG[@1 V2qVr kRTkY{QrRAʢ-zWZJ1Ȫ/6vAZBpʧKᡫɍڞ k8袲k!ɦ) زz۹|)KDy7jPikȺR9T[[d鑸kʩ*鲨X4  [ɞ{] ۻh{ lݙV{ZںkWشCڻF(и(l+SHۭW <kKˆrHW \L<!l3ʘ+vKBxxQm+XX'(:̑fK;牡f̹/{ VPXyxh\_KLGMˢ ;$|))W7tg'yx|pknɑD,KJ'Wvko'|b\G̽ʂqE<:zq3LvdXƫܯ[HYho(wMͣgیLsa>̨FԌ{'l{SH5Ͷ 0+{s&Tx,{55+ȋk® V Ca;u6vdxm lҨ pܶiǖ̼6B=Ggؤ(W<^]5 o4ɤQͯTֆEZǰ܍a:[psû8on(%,$TYU9IjօʩgK̆͸Ah ס=-;SIk{!t .Xuͤ։lG-֪m'{4lZ%1ܽ=ڿ¦1׾Zg"õzMÔÝzWµ{eG5ؼޭ}^kB @|Xx%}rD}/-LyZ8^ ZgՊ,nϚFEׇ] >=b(rx&.+rFq2-yy}|Ӯkrwm@APMQzmH^J3NpGnžM*V <ɎG}P.Xn}~!~S$YG,_>ƺНL5>cnYnG.Ό:< ,7?i/MWBK%K-MqٕjQD/FOW3Dl=>Wz`;1~H0Y0gMzoQjhﶈ0Z`[cwo)xܞV1j]VtV/RFrY ­^bﵓ{5I?k?So\ٿ1 Jxϧ  $X@LC%NXE5n< E$YI'xQG˗!sLOAMz QI.e4cRP)|%E5WaŎ%٨iae֧Z+at)&х`oZ)_&\aG'hc"OZ]qyE&]iԩUfkk%2>mVhh|m6qɕ/W9"m]kMu5#N:8 qLunZ?^ƙϧ_~bל P<:)"!B&Шݪ7紣>@1VDS4, ac4Cp'x@~ 1( TB(RP+$`K4R"D4Lr#h G! r}2H#/BR",#.p.2Cʒ. s33ӐataTp:*M#NV|aή:>< TA6Q&-ۚBԄ V9PGaZhߊm`Zv1nQ>9ܯduSqk] wn<8 >vݗS. b#XZbVDSvj'o,θ8VHaJO*_^gN"d 7"">bbx᫩NvA>Cclm'I@{ۢJYu%]3HgɕP]Hs& oҍ6۽|_D G|vqo∓_NL0!~5A/!^7%P,{ֲA&w]:҂л)q #1KH c[ FPMmȔog" `&9#`G!~p~*eЭ[|aLJ?b*;I~GĄ+@ J0HT$ 8*f/b!Q^/Nc%<R7lRWThHTǢ]v gƒ#bRGȈɍ\|hyY F3j"РJDjDf7̂00:ҟ@MwꙄ|&/_El۶ |Sg?-AgF5@YȺ윳J: xgCO+mzSs8 V-K3oV72OhF7zut kjSO'R`T5'L11jUzUҀ)"VBQΈ**t`Ŭ Ij E{ IPA (X9Ts6ryW;k:P=K \-⁺.v % g/KDV+LE]4Uf˘ΔU@z۽z@mo}[Wtѭmdm^RRY520wCZeg{^Uo{^׼K[_b -;.S *WCg >G^0Za _Xν3a;x qKtS޼J_,jRY] j(1{_CqUvc!7m'Pw-ˋ:`Fa=l \=e0Y`ɘ|f4Ykf3f5c`-ULcrV>*_.NU ] Zц^thGGѓ4%]iL_ZӖnt9iFZIeϰMLkE,@ֳum}k\Z׻u}k`օf4]bj5VZU¦v}mlgי%|t0e;nx2A';zNin8[B.=oJ#@ g=[*]\Y1V񰞨B]rZ?|~ wzF#=4B0zigrYCRy-{O 6g1W}7}u+RI{)ʕʒ[{G@zy;[>CR߻ի:j`yٻ|vxZȸW[&izqMx=;[zP<hTK8V%3僽軿>@;z7ƫ98~C@\k.>܈?aCbc @ t={@:8ýRJAB +? s7k |ۺ| #d%!4B4L`C=$r ÷j,+C;C5C=5{-S 9â2b=LDE5CA yI"WDDzDDL P(<d N\BDE;@0\R2[ ,ACEb;W@88a 'Z<$E^ij!TE'ZrAdTV:JE(; øfԟgDy&}ƇG;=.=)?7XFqFhtŮƍ|\-a-t .D0 ɡ('sTHXF]H_ T|;~blBw Zй9[tLJ|C&l<D!JI;c|ibBx<ʙJ.Ia-"̼bKcl|Lo8!Ef\GljNJ}DL(KT ILR($9t4 ;ᔓlGFDBSmDǠH%|[tȞ *@1,M l&-3*d3:ACպvtdu Dδy|1,} {bIJM:P8wTqM qBM5YF[|!GK#hOO| E ЪduO#=x%= o<R\J/,R8QhzRR\Q4556=?:L7/:;a$[w +e,HhjBIs?ϛT9 }`G1*GM/,GOL,m{'RqGUF^"*PfKPJeSՂc+(RR OЛP-h!pі,UeUMNȻ˰VHʰ( RKb)>lоxLD;)B€ L|ʣ0U`u]vLVDP|~MT[˗b?ԥWxL_GWq8QOEFUY4 l,WyЕ5LKL;x]]JeIw ή2534:XΌ ?UF։bAzWMJym$ݣXt"ObDzݩ@!)a۟줡n=MeJJOXO!%ҭVQDX=1M=eU#[-XN IUHE@Ĭ 9e΅ i bm!tT]š}%A]@r;ۈmޠ@75M]A(uE\ ^fxKYC2_;5׽c^ubߌ^U_5E^mXJҐN+! ed_(ܶ30b2` FM0T#_&\ V[*6T vU^$ ^Xa ZI\9tASN Kֹ̮8Z Ia[X3&Δ};]ڴ%C|[4V͹%$5Vc%ڕ:Yc-Y ئGIɌ3-9cjؚMBݳXmEץ-k-,VJ$|e<6̆:yιyYPwK,b2:-Dfe%ZU45WXg,]5H5䪽RF\ a]dDz'8VEKnK=eM<ՈfeYt6NuXrx&aWh/N;vwGּǑ OR e<5f$բdD]UN>GtKT^>EV%V7E*f-Ôjjcn )Z%Euf Ҷk/$jN\\kεT ,3kv&VviɠR+nl^j ёae7]Ol~6፠jSV FV+mohN>ĿnAflfSnF>D*&$Utڌ,ng/C̛g' F*&7,n.h%_]VrhpccJhmvc8f.:g^?ηnNnWo NX YwNMeWnZ6pLo}j0X]Qfj%N=Jo JUc>=q#!|vlFٚg-ɏi nbFhiOr2~V׮6'9*'[V;"Gp.+&WrW/ZEe$0S\s&^zlq~yIWm6/%sp6b֖OdilH#^-cTSق&Hס3&Fߎj=vj~@J^qyswpVq~؅-Rv5-nyl~k$?ﲙضhtwv|wlφ^{^~r|uaxamuv`z.^w9 Cɗ;@Ipz/z?zOz_zozzz# yVyfYVzz{{B_G\NA/yz{{{6|QƢ**qnvn#T Dk|ǿ{ȏC> gPLccwAD\ǡW}o}/?jDJWZO7X'z}?7{7ލ+%LvwDmzo'⯀@~z4 ّJBtwiVX 2l!Ĉ'Rd88!G 08b$J#EHK //l9SԹɖ>y,j(ҤJ2U:C8JreӬZurdE4SRP(Ai -ܸb11Ƅ,K&:TX2kԉgO@ #F+Ȓ'S:UjTWINy_g=#굧;nË8fsWfHR@7'l|{n˧Q/O:C|l O'<^ z_#;.} Te||mjIȖ9*{啛R)8"%tVu'Bw7!kT9f[. 9$H]f,&Xd06c\B9%zRF$]ziTHZ՗[=vDTN$m6\`M0nYH}'e :螀 %#JJ*c F1ejgaRØyԙh6H*:+z+:0 ꡧ %&zd S_,J;-Zk@E Y:骻.QN~[Srw:!U6<K<1[|1k1w[r]}O\r(0Ь5 6 =4E }B4 KC4Ӝ\_07rb 5qBiK3<6}&(|?6m{)o'A RX݄,5Pl{+I4"[] nKmq4r xU_s7ꓟۧG:0]$.l>"ܘ;v&NuQwUI6:Lj%ٿ]9Kom>,_ozy=7猳"^;_=Lm産7x *b܏QEҕn[1Z^}w"V\\(Ó4PQW(ΰּ|jQ\Kk0N(-,τ!WE.)LVuW_3J#uAΎ~0GQQ8,^, #H1CaMN#AH@u2ϫ8z>8YiݻE%C q~D$P94d@TJJ㦘23EҦ2CG/iDp3@,ԥ2N}*T*թRV*VTaJ5=Gֵn}+\UAHDPtđb'  +> V$ ,akX"vm,d+YN,e3kYbIk#Z!R\4.}-l'%-FjVd0ahAyo7<-COvj@nm+JnJku5UtW?]7w5^׵vؠ2X*W&*-WBFeaNO&Q'whm$E3"S`{W毞v`s 7=|"yl]%'f~0 SK dЂ6 PӂFnpj2.g(ZS:[ 0 )<}AA6m '+z~4iHS7[._˨YA L?ٲQg !<춂t5gB#>_2§wރ%ρ,N;PʙĚZ׍ DN\Y^>рӱ)ݟL F%Hi院f_uEUޠqYUK ٘  V&a XQ_AW VaѠn1a B!a1za|y !axWaNJa+` r j !PaּqE "%V!!K"*ySndq_ɡ)"*%P& F ]gbvMW ydRLV!#q*qsvbVx0V8v86PtH yӘ?i]m@Jٝ5.#tx#9Į$B&d@&$C 8ըD;vҀ[ȣ}c 턬VH›|Zc)=F=Bsd=$`f_egrg&h if:~fg ifDU&#M^yEi$&T&&uTmdby|xr&r.gr^s>'tFtN'uVgu:uNLdgrhe2J> ()&ua$jM/|މ'}Bp}}'g((|R_"2tSNɁ-敲D%)_H((([|ΧT@x& ]VJ"W Q¨)S ^0{V;VG׌#iRV)R1iiUYIT^PEZR i)(.g*.>fx2c"g#䏦J*U8NSDTBL2jnQfǎZ!jm#RiV)IP@R1~Tj^U+SL)l"J V#iS*V@vR +׷ 믊I+(RHm`&%:ggLM RQ`+Sl},kk҅]@ڨ.c҅L]uhLMc6#?o3 p1 4sg8&xxz `HeӢIl%K:aq x8{/ry/16P&8q `[wr-4. u+9R׹y#C۳Ȏ{Ź'9!;4S[yJޤHZ9/vnlzU)wo{:{\Xu#N(bw5UWc3߭GN #y+goBzvwz4Vd7uZ b.>ڲu<繒_Ɲ仾s;Ds6-t^w544Z4hp?xtGLHB\w{B}u(zy/Ko*zzFb|NjF<Ѓcr.kJ2W-<Ăqc$[3E<ŋGxDj@iZ[|Ogyp!{4Շ;[xI_:O8⟃z{k\Lϋ}ƃ=|=۷7D헇g`~=Jo~u9/>mJ [;cGGx}߈>;1Lԇ͢>\kQwC};{~ , B.\aˆG,E9vdH#I%GXPa9j\(Ex %sϤ;VX'Q::jVAvlXcNPj'$Ã!k7bE)jp`8]قE1g2'F*iSLF|T)6}diעvowjۡȅQxI)W|ɘ͕3JNztөWڶo3 VH6u71xz돜X<1L2*\uu5{;CC%sI>1"ED-:r1! m 0FY9ǖ#~0#L%l')+̒-L%)8 ETdPfM 3+FT3=GGXa9n\FD.6lEz"B]hC ݰ^-bVo䬘!gmߠE" /:3e6:VabSwJ5Լ9=Y'&x]!WyC^Vy[{ '=@#2ÛݙSiFSZkwtlEAY5HD|9 [k_=[[3dgӮkn\C.q]ҍwe!Ho9;iطvM@gڏ?/bǺo1B/Q}ė( u5Aoz; (xIhBYdg ||D dPmk( $uc!VECa).a Gh½hz&$]-voYBPosx#GQ7^@(3سEPspxb&׼ܜP @] n(I!b(EG3Տ GВw7lR/2uT2ALFp_@EfM*UWC^%p)N6,L8%Ā7YO~v<9_)j^NIr/Ӕn=GhP'?3VEuE_fɯ8T !Qy=U:򳤀WΌ屢e55<*rţ< qDURН4IDYExN6s$f=Z]$]RWXxm&MR*,|>sIcT1ujWEgV[-Nhc;FG2e _7iFkGeשjעaV:Y-ZNw *$MQU0,Ttږ*U**MzoO'.JšӨEj6փd]Dsr>eoVEeo{+qzL:+nvLBF뢤4:d',jteeY ~PFs7mOHayzQ-rEߵĿT$5H6j 俑i ^>bX98Lqv]g0s`QD6E߸s0m|f:oz0s,Q8?j&S2Y u7W-{C鿐6I=BNzWjd@ZfWAt(#V0MJ6ȩ ,"s##=7PVRI9JTxԫ⛊ʽw9 ,(mn3["p\\uxf'.[Е\a%2Lo+7;sek\7èf܈ :蘟\($G  +1nǥ d&'NF$2nԺuK뚫>To~"V 3l1[+hkR<]5w o={&[k]>gzouTa !^[@N{DuKWj9|D/nx W<5=-׿䶒Ec+40I~ʦ_xAf/EgAf6 c=ĔO_|rPp`fԃ^(.0#zˌ8Ԍ $JhB 4IzPݬ &&\w m`FDn pX$\/ +k D M~nn , {搝-ZνtL NSG"Q *&:n|0q6O ]Z8* 0h3(ίl6 ːr}k #&N]  N|*$qQ"Cx ab.h& ۮ.ِocԨ*&*1Ύgb8Hq+ mO RȘ /QjȐyr¬$Yfjo2)0Q')@Ξtҩ/)gǜ2 ݈+$X-0(%#ir&c' .,R_R Ւ$- 3"e2 Q"&2U +e rq2'dFZ5[23Q*36&Fl沑N /5M5+;$-2.3C1p81G咎99*/ΡS%9YJ;e9i;4ۊ<,,n5u =k*oI<*>+~Qrt>3-31BK_370R-h$@+6BQ o\5M3..C4j7;9Փ;$ONT_޳q#ے))EpPN#F5~DA,g|1A'.EKYt&C(L;p4 H_ ;Y ;Jg%4IW2+bfGb4 "* (r$.*)FQS0M2SL5C9eTJ5DGŊ{J/GQK/^JNb.uQ ~ӏUp%U83,BT>U%w7HL͔RMVδ ը t`7K1c,O-XA0UT}u]uΊӶJ{S[3\fR3Pov6mP~U;JTXH%93hސ4h$5;TgST5s$ ND=6@6gODj3nT"u7#jkO#bsbjJigkm+"._5Tln%Vk#dmScpm5b.`hn-MFp**p/7(6WRb`N=`sYs7$dioDr*30WvyBsB@<0Ut58v'@^REVQZ4v53:#3HcvCvmyvw7HqQi\hu2wQzWzxgooė2*C}9#vח}IstjLc*%,9Pnwׂ?prGUu=c+GD$:" 3&zz& XgT koh55rx{dɂB}+k؆Cs 8~ӘN?uTPy'8`S,Zv`7+|#v851rJ[kFؐQx/R8:394x#zyj [-)瘈q7uvpI}7wCW0m\7dC+\m9.爂׎hɓGDs{5yl%Sd\g`yVe{WėeâO+"Lh{qz tFـDI&ڢ)3Kty4{Ȅ u#!e.,oUH90,aڇ@#@*x`=j`"0k::"|OH9ڪZ˄zúqCZךڭͺZZz8>گ[ ۰Ex۱#[';23[7;۳?C[GK۴C> KW[۵_c[gk۶o1+O{۷;۸M۹[ۺ[ۻ[Ǜ; ;PKy!TTPK'AOEBPS/img/dp_phases2.gifGIF89a """)))UUUMMMBBB999|PP֭3f333f3333f3ffffff3f̙3ff333f333333333f33333333f33f3ff3f3f3f3333f33̙33333f333333f3333f3ffffff3f33ff3f3f3f3fff3ffffffffff3ffff̙fff3fffff3fff333f3f3ff3ff33f̙̙3̙ff̙̙̙3f̙3f̙333f3̙333f3ffffff3f̙̙3f̙3f3f333f3333f3fff̙fff3f̙3f3f̙fffffffff!___www˲𠠤, H*\ȰÇ#JHŋ3jȱǏ CIb=z'驜G%=%I3l|ƔV/wKkL׿g+hE| 4"fbs`Qz O@`=ؽi'2! ˗wosc A^l" ˷FZZB!I&Fjh!Vȅ*l} 1*#̈<- G8->1eŸv1"'C6^?Q#o@EMжF;Nnzt␊;B!!;?&4 w!#"tIdodҤTO J"d*VZRkHgd V4@t˳(;L{r`TfAL3rЃ?v`փ_2Q4Z`隩T+' tQd-]u;eR2 N* $h) S]+ PF $&IY<-?tQOSIC i2  JG=>Zfr+i2@/y,xFI B tV}קfX$ɘW=N:YOo&„$J53Wn d|:8F\AU(a[wұ%%HۊVW~z1w4Kթf>4 x$c{SPBy=8S~zvz,H\f]F@P>rkI5jKZ_D`Qy=-p&WB= 0ˆDVX}IBuTmiUq;iSA%ZYQ>S1|ux/!;Z`;]D;I+.! SV2@*;ePiT 2 yIʐA< 7Y~8kҬm&<Ĕ3q %EJ|{+2 NV qV8RKW.hr6+XFYыA4;zъ3S<'s}Um U]F*2/yo+Z !wf8/sdY[ǘfY:\j sHѽ~Tn/@Ue\񶺳hFGbΛ[ɞXW <jsKL װ^w$q ;$Zyx=zr!wPBW Ӟ`vv03c[wAأ=}!?.KeLVʛҪ*OmcznN sO<];:BUPX)'WޛR_k0\ۍ6p$]{>-iXt]GS/L3Yj 9!{#- %NZ ̾kv<_τIdb?xxT߽c|{IRT}o^˼QP[{,h yA7?W 7 8 P؁ H "ph~~o;et! lPkfb@c%LDsr\ײuBfQFSrfgm6Awq`ȁpt`o0[؅\^`8YHu`u@}~,qpwz7fWd6(2.u!+{m6$^T؄ng\ xk1t$v~GUhto0XX؉hh$ rhzSGGP h0/7HRbBcBUUHRضhM$Sg`xh8Xh`8ex$hXzrwy'k6PU[|&URLWvv tyBXQx瘑瘎Ȋoih0n(;łv(n-:6T^|x""6_xf2#6k S^hR9_ )w4ZQ0B":I(@(-4v/E@uXn#,yQ ؅H9TIxgXkxǕo˅O"SHTEle)Af bܢV 7A VЗ[ F@Yyy؅׆\9pH&SHE"N<,Y(x#.VVW6fYWȅTٛٞ)Itk0.ѕrG 2X!{/ut!_f;BE')-=bsi%m3yQؔgڡ SYd%(qw,"i0J#*m)@q:rhBXR u[CmxV؅9*RT V*Pʑ؊t}@}釒̉]aY''oV Yug92e3Y:H:ȅ8 m  *! &mDSQPcX妾!`xuȡ󹛴ZyWZJ! ~ W7) -ta#5y͵5$ =4 SVa!bhkGvJ eȅZ캮xdHqWz sѷ\."Iduj;::*P00uV#uƒ Uȁ虊yS걸O:"[!{JU} X0,ʒ ,UUFAJ;Җ:@lIfA*k1A|fZ z횵Z[z(u'Pk9K+NLST";ҙc3YZ蕖*"9 1: ڸJxqb ºcQzɬWDK61"·-4uNeqS+hJXZ;[!ہSS0kWy,"+)'bGhsi" Ufl$ qRv'ہ)$K& [{[!pMp|0jJư)"mJ0&e,Әfy,Q 7n*RK2,4<*hMм~;PRg/ee- )բQI%WIy'К( y+tЉkkGGЫn\t|NjYzǫu0>?܁)Ȭj;\Cs) rSX;g~;k4q| yPʦS;5lG GA0YktfȂ@L(̟ȀY&LV|B)SQk qww_i ˹0LG˿t0, 4J'=TZ/!=\kY"fF*I@E u yW,ҥ} ܉ʊk{ LCE {ԾZ!iaǁ,qlCf{zA\`Plc Rևٝ[Œ+r=xP-= j 1HԲ8ԹAFǐ-@YJt>&p->LcZ=zIW5J%q;:YlN(Mʥ<-u|4Ӓ=A ؽA I m|l=L&pTǼܹsde1U5m?j34#lXp]t]s݉KנMԹ\ݹJ mؽ˻,o7\4=,C]=|ճиھ^Гcb(y@.m.iܢϒ-@N40 sL0y~ @ջܸ9mڑ΁yI mb#%$QLE6) xlGa^s̴ݸl qG4ⵙ>o>=:LٮcZ`gS8R^ϑra#@~ >̽3: ' y0q-r؉-> "?g8z RVJv[飶hG L?_0]ْk>Mz}Գo2!ꙅz$(y-&9@Q58k7ؑHx7^z3HU[W_/88Jô1y}!3g"89x2sC$b}E-w=e!U.)I>%og{U:$I"l=ztGe *]쥋˶BPkKÎ [AI,4Z-fy9:t y p!<2:cRk# 1\ܵ״$Ȥ6=]4N{e]0۬1gٺQh[{w UꝣyTxCr: ?SBUR۲<]P3UXДM:;bP]} ex x!pa*jj {J*@0S̄ ׹|3{l|<kͦrh:@8|D]GJȳ(6OGۗ.(9i\渷/A?E,|=侄`M+>DKQtaQFG8G@:$y$ϊɛdc$ϓLG0Q~GZDUz6/_}:hF#YSd OsP& 6v2*"L GlGWd:x 0X̹8ڙdiE tDN^L@[5XER vrc!IA3Bv$'bLda"xAHq?&͞#8JRAJa/ BOIpB:!UV+O+S$ &pYyPbrfHLh4B29T>bD zlo+aK):4iJJJ:|#zV':Dԟ?_J Y):V(9-0 +xY! ?Haj_>jmkd5ʈGN,Ԟ2Uns; l>39(+b%hIie)ZzjIl J!Lx+dqIQ 4i/TܾB7)Wi.@,=RUd Юvjh %4Y㼂6Gz\&Zǃ݅E9ՄYIzѭ#݀YA)s~!MrrH gxpL'fWNdRـ w; bS3NPϽ01U5|7d"o`HC I 'i"k +c#Mf- r J3"s :%I\yb6JTb2޴:KY[,8A A),#-iԁU=؁/~˴1#1P5nXA$Dl2AZ#򹒢tre;$@AUدh/U.0ŠY{b5qs`%YK-՘& :zk#]w Pxꔏޕ?x&r``v9&k4g:L1U͢'2'/ .:bKΎWkLKͱbȂ:Tв-ߙ-U$_B*YVTC6qlMV͵~$$cNO﹮LzUx+qC#U)7Ԓm1CQ'>GYVF ӻc=[Y<=k9hb?p 7$Ӏ[:7軨B9jeJ;1>k Ev ??|@A?@AO$*?8~#:<\ yg*--׸AEX :LD~jflfC!_-X:M 'Vb(*VX`xC Y`J  8WeϤ]]U([P^Y\MU^5X(XVcU^ssU iaf-m0]i-IIQ_YI$\s%.$2R:ʒّGBi>8-$p]&X+۹5cv۝0 h vIQ`iT^X*T. HFl z~sKDcWp] vZ]jɠWwwP Qy.Iy~mLpiZXxm޶mr#f"b KVl UVb-۵E9kng&ǻhvvH2omviĞYBM|. j8A`eҫo<~l^ini^xh]wx 9nibl>lYɾq<_ ( TO!F\Vr@ f ڞr- --grLOvM?miQos)%WWu!".rDZP홙jަ1>FG#m=Ei}nţ!2UqoAx g [T.Fw>3\g. +v%@} i4&L?"ۈ$S[.M$q\QG7Sљ@BHwMcs5!T;X?U`$UYVz)_}Օj|z6BX3bZIOl%P"m(}OD[^D6ցc1sS ҙHbeV\!Jޗ z敁.]z+F.҃`l ;,fnJYƳXe$~~zWL2U裼Dzc (5BuK芺TySa*"@{v/0ěuv,B S-g&zs64-R T?T r@8pyuƄxPk$ۜT(XR5Olp4Ay)0ԢZBRP-80ul>!6wɤ۳պ r@h)А8}G;Fq5GUj@9ze4jT 19c5aIvZh/&óbdc3bxRd(c!պyD?q.ێp ӑl$2-.)WuR?J.dī#~lBS4ˎv4F;'D.mtw}V[*GrËw5#$>h'=(JbD.$cqPf.2U5VfY X*E[X# HΤܭGX_p!*n|y%E1m\8(Ƅ0Hvljˆ<5b|2+^c5y?۵q60mG?dQi4d|- 1mmpk_  eI.i<{wSrQ@ֱFL,fFlg;Đ6c qjx&I+HhW;r:Kv1J >xpQ9 z9amMq/":uvؚoT<^C*QC^)6CRL0PHmY?9dܝMy%gco,oAuȃFJ#kHWdaCn32rV%ٱaGaQ1˫4g<߸䝵W[wfb`w=)QH;9Ay"tݣ'sѧ*&Q8}zv /"Ѐ"8iyWB}<_xV}6|UZ(fI⾭ MiXfb;Ocށdy::lE,l m `\ \% O;SQ\r@DA,ޤEQO,D e^]QZDVqD͟1d`tQq욚XpRR_\a]Ut` Խ0MKсP=ȃQ F Ѐṕ|jie!!Ο%U݂DOJdQ!%IE=͜]:!@ΩRPGaHV=ءv< RG'ax©Rd"2ʟ!"a;ťA5n6&5nc6M5Z.n"8Ẽx\<16&B>cvVU*d@H6!ZjK&x=i j-g'=ʞ,OjWxQ@DnVnώxen@~Ln񰩟HDDCH:+;H;:0-IDDBH/D;n$p0gYz*=ȃh&4\"imRloV&pg .'\>FV ٢Z(r䖫6b禜(Ɇ,@lHH@HDC.*@<@;$ҺI<H1&.-LX o AWQv / ) Hv:o&۵,B29+Lf޲-O'QŕRL#h.p++D(-yqD7hH,sî435G34osd5'.l 'gv]vѳgrl{0߂2(i$nf:PFaCDuZβ5s])wpݠgځ3'(m vPJ{Ւ7KcH@7dď"PˊMi~MaWB O83l0z> -BFI(U}ȯpx,q'7׹x/kXD sknAH7vd.4HXz)}%̝$֤PA(% C2j rUW[MRa y۹Z#ijf 0Kbt{OcO@WKGxc(4c_CC Kw¾V&̮g>֥-A!6 ㈗7<: %4DECsě?t q7ɟӹ^K=T&=WO$~D 4NRv{w8)|BrdκFHїHNޜwPERM=UrI:ʀK/e +͢?^5}M_,L#":q{jhSEz"g"y2ѣ'H<\ A{?I!+z,U͗_} xEmEaB],sL?k2x{,޴ 3 3Fsvږ]~w2{Έ3o}ԥx碙t L-[⨥ꪭ #Q*E:TɮcK~g#ٵ`n]wo[f%Q6'q Gpd[ d1̰o- N΅rN]ePj VYʫ!`#N___, xWGԪوG̷CNP5y45vphS:=Z` Ed(p_;Nhw @ _Rq)K#5N` 6#nz57֍n]KT2B]dr!Hhg.=R>lqJCǷ9# ;2p<BQd"E/sOtWF3Fvt^v齑c# IEx!ny4 P0q(R܉D6lƗ*8aΚsyh4'I %&EIYJW$XU5@6"vY@_pjęuBc0X*$](ƐQ@Pi> b#lf R-K^2}.g$4Z4:'JmZ>@ YqTb<x; A sF Lz"cfxghdxAxO P:CCȀA*Y> jG?U~IZ=ݥe;i3E^<*F~R&'NNER+T@@AZ a $5mp$0HX@RCD#U@RS0`4M-,-(*D$]  ij!S& `.2<@ (`؅]׺pcbx}AZә6PIєDUOfEʢGj\/ej2[eY}mO8<ҞM_Zɚ&@ q, $wD5EZ4(L?; `:hH{/&t* !iNCB͑mk %&5-e*zVrvj)=Rbf&p3L9L+$vϋă{mH@@ljQ`2x #~M$N 'ssX 4NKЀƎxOO@6_ELT>j2Sy{Gvha*3  QlVy2g|:"hY vjiH"ߞ&>(Pbu ( Άo#^uvԘ'SIǍVjan+aF7"ÝaVήpЇHcb-a|1&z4Sxݴ͝Gg[ @7Bht D M\b<3\@K  ~pɿ!3C/pDNG,ʴ'e=C lHjB|YE|or% ᇂP•rS-yl!͍Mm j{o&`AK 5 NIp@$ήL(`-.FbҢMp@(eM,fAD@ ~BEaI|,|F,MBv*IH&L8oH+{!Һ^J 2C3!}"␆د*ogV.q$,@@ @|%oA 5WDA!L0J ڀ"(K iXQ h $`L|^L > .TKpIZ69(َ"1D,\U8QJ F΢3@O@ȏDWo ؄1ʯyd/ڀr"%V"> e,OXZ,7"BCXD::llXr;^q`ȑk> /@2qQJJ D  D00({+TBb7BEr!VC'pH$@$ Hk!0q.É!V"(ȥB$I@09HcthR'=Q#1D..,Byc @(Q 4r 6 )M@ERr3w/%A:-2aVM~Q~D@)Rօ13)ޮ2."2ӳ-sWv3 D `@@*@@$6=;z""]# ?3q1W ʴL ** 6`)W{ 7d""N5tNU:Q[sEOOR/'PtPہ Ps:8wHFFSSYbe_Ɍ<{Vc5>d>`"QPb)8@tLyUKɯ6*S3c`U /B3BE1Z!CUE]PMt]uD/˵P 5]9tf:t@2~ QH@VTyD@H#HgvaLk+3b )M R H3*{E @) n`R@`4JvY'#BUNaZCkVrVZ$"\gTE]͒EݕEQ;g^S"TSbGi_Ub&=ɶlk8BI5wo%3AW'cTCW#+Q@ƴy+`&Be_6NTt#wfS--O0gotuh{]68%;gHXb % %Y9OͪM"^ږ8M|e[YP똄qr3Z >#Uٷ=';;b%V;qߘdF`8~9/]Ovs'ħN|hr&|?~eCjV\='Qa%.:Jۘ7e9J }TS|{Ov|NՑo~"Z;;q[W:n` L\:}2$z>||~\P:B[2d2sXmS{u1(p7`m[U<a%M\۠;2'}Yț (ͽ@+Q!BL#ɛ8To7\)#iQR%TuSGjt4uH&Dg7 ʱaFY8⡷V63)iMʋ|\U[_$W..e*5R i?~uuӝ0e}< H8Vg3G([ે/看d`XOOU _(C#9ϥ $'>%`_8%ml]J~ʧ4oƠ|ژߟ_{3*iP3r8޻{v%80„I"/xѣW/㿍;zO&=uLi ,[\E"X\r%F4!ABМ$p|4:tqxQbl81Ŋ3<8D8zw仅kǮj{}uҴ4|xD97&Q U&h t :d!=yʁjW2etHzj;^U ?Y.^JVYeFdҗy(` `N!VF` G&~~#mW./PyYHoj gk ;lԧCB21ITD%2EL 1`Ȱ QD&F9r<)LAhN +Pڻx:ث@صEJ A lZOǰc4)U?X"-{b# *4ЈcIz(wL|N# I (bzB$B]K[AçM.q.˽\E-pQ XqR_-37ufW`ciN&3!$c$i7 GRHCr@capv[CɹOU]4uNxLv'?6n_MPaB4LN.0GLY@D %äE2DDޑFL~MkmEE|f|WF]ü5l|^V%I#"bS= SEr5Rb ss?ԕO rsWD#aHe0&%l?Жbmf4Bqtu=b*pbA-#o^G(slYA]az'P;SXPj[)V5*;kp;f2ZFi-ܒdTyt;W>6}b;4ݘ;R.Xa3>yRwlG1%Vb xdrEx#@?28_$XQ'<ؼq_]pY/V/}[{au4}o8ӸleKzJq~;ms{9aS'zf4%;@⟶}y ].rTC&O&jӣ.Zcz :<ȅ#rnse)yqƥB "brǗr(mm.8xDAS#~`qYG:wT#du(Z"UIDpGz XgRߓ DLTL#uu%slqvJ)1PX$V4]zWnw2gT?U}/bcj!in8 `DF&G@;8z?A8mEuqa#$42^DvuW@geI䁩XdUd"yuGVgB(H]6d)QRB2q"DVGb74]8bZd؁|}#DDD~D^Xiw[Nየ4)oe D(XRfB1$kޘ  p蘎y84Dc7 :VxJV5 r&"OzȌhɔ I]zLLy1Wzo֍5qW WX(}XgȖ!xXPWQ5qȑwNWG|( T9_fzMd&LU73Ab\ّtdBScIeiFÒ^D#M&XwDB(ި{}x(>9W;F&6 i GW<=[)y-Lab$ XH(b79}<%4G.rvXi<Ƒ )(aEU'.HwɔOИR =iBn+vQ(ɠ YX'۩wXi9 TDV8Iw.xJ4:yOI9 >Gϣ6R5] Xmj.>m]#xNnxwRfF/D)E$8kOYiCi{, ^YmH)# г4ⱚhdj; EH;ɴL[Tۣt8>ObzXTʶh{XI/[n:/'pI懺o9( ,;K;&$&VHvG/gJX/iDJM\>ֻuB {'c'g (Ŏ:eJ ̭[HPp2۹kS@Ł[rh79;I{ (&lDJ~sи ܴ PފH`{Mh1'сl||SJ+z^6a!;'"(\ڪ2e"P4&AǤJ]k(Kāi6)7LJȋ"<¸4z;Q\! ɈgNu/GGK{ؚǭ, ZFȁ|t@l! .La10{V#+,/-)i|k¿Kol~RS˽PLa>]]_b4<'~; 00 Nv"C;)Uxܔ^`͢Pi.'Fζ|[Sy)+M- sKN|6K'O&s:WeʉןwܐJ Q"ͦh6 " 5 eNOeffVf֭;^~>*4} v~cPҍ^U}"VkEZ]ͽ\n٪ٛUF":M'3 zR#|ϓOA!KMRfRp)]ܾ}G0Δ}WuiJPQPQ0-XZ[-F E%n'eW.|Kb -WeF9@}&D ༝  RU ^Kg ݔnTH ҝPpsNunuFP7|<p8n;?BMv j"KNݐ^}^P . _0J`Q]YPiM!~>LK-# nNkwNnVpz#C2~^hMv-/ô@qѢE#]6Gk^ DpؤS-IRJK0-*RQKmOe*:¨#'ݷ< @ l|Fv~GKɭ^ƽM;ᕄ#8K0O/ovUOuS"Ǿ,j{='լ~U\uɛ9"ۡDR9w%9rR &1&QM|ok b_Pn8=ξ-y]:#b(}Q0Zh^J؁?RTIQK NA߽- `,U6| `*@-"S0 O/uɧm+*`ۗO@ ̰kB >QdG/F!'^#ѣ7ow2}3g=}(O=H!/l>$PC:ީ^2gt d0CNK-56-DPCd!H!De FBNx܁:Ih@/H!$HdځL |K.`KDP?a20y Zв♇\(2E8K=fNbǷ,HЈNc#J:)%͛~HM7,$hO9-%KDBr* VKU@2T&/7] ztXTSm֠m(XZNRS%,NeHL&ʕXBH V)XVxz~+ D343j'CK[PshG3JT( EyԞ@x(-AQî]]΂%hXu 1򓢁fk<+0GU4@7>!S[I I d'mEek\aAuf|hdA'r+l4dž0a;W{hj["}G-=fW 1ylAŁlxv|$%znsZ.1C 6I B7!KCx@Z.8QhӍ.H= .5G)uMQ-Q3귳L2+ у$ye=1!0 V#,ji(,)n'y }УRH.yȃRft%("xP5"oI9|cUYґ2 x%ʨNy TB P܋t"&R4߸(IF5IBk@К"RGļJn檕࡙)+F5H샽!FYB}1!OCGK$gv "(GRMِsSMLr%ey,phcEsdl,H{2GɀfB΄%tIҔ((R O7c\-D ?H̤\Sn%*lب%xмL]eMhD XPQ2tz(ʲBղ؆7EEV d[|pV_>{i?pdp˼ uR 5e,D̓ 5[ϲ6+eUD.SY` 䒂kG&Oo ;O~*s+dR"y@f)J,KZP_εhpNw%;@tā,FkH:; beMF+@cSrʾf2`/T K@,c\g&Nm^&fKnKf bm,j:,%yxXD{-b`D,%9h,_ q9t,)PsQ7$F{Z[ e l"b!D{0s L 3*k]i)飭Az؂n3E:^88=h@"#B Dap[湨<ēj= ] 1{s[@0!,#zg# B_i03,t">P70lzTZ;ݱ7C3B;d4ٕǐ꒠BbӥY/GT>0 D8YC1@>A!D9DQ̃=*;Y-4>[ DmEH4+qDev =m&hij5*+ :Alvj!?tjݑy$1tdCzSL84~Rº*)'o!1-ΓE㓈q lG:Dv{k!7 /F|Tɨ*I>DE+?*s8e']P>6 đ3KG0uei:{ɍjTDžț-rdi;̄ TИ%0WA CMFyQ=IđBЬTPJx4yТLZ\ Թ)@ЂHR=4'WTW-=ԜԳGQT&2E]U` lLR BqeIԞpi-&uԘ9ʙWSQ֧oU[&r-G=Qq6]W c/ @z0R]] uцʩU@S4שJk aO[RX)ʍ2iTHИDJRJTԭLw)י "<#ʇI%uܖ<Ӥ"$WҁWL4UAKYֳNqFٜٚhYՌB4-m=P >m[oIMxXR,}UXRYed,82=J[8}&2q:ٖ6%,R m*Ɠ@-DERH}Y%v]]:ѕ\ {"M^y`Š GBLwJWrb4ߩ]+BM^tX),L|%}tx>3yIG.(aݶP>'r(lAe IbEeX] 25IUaX_ VtJƁaGa 鍒"t4D]`)u3 .Mb*ArJ'A.bʞݝVG ކ(DKY: cD -Su$) X ljåbHJGg(f/fP^P=cZHc qL o2 U6Y>]ewF۞f8eRC(b~b(Fv2`Od*2 EYy(c_4E5=zv~J PH Nuf-Zh;Vة%} ;DU]YcmcFΑ`>0]O3CXt-eLMUSixvOXK\feȀT&#`^jv ʃ>hPnM3:p܈h x0edY$ݘvݠ fݳ;DuBK=v yX]kiNl36=v Ȧj`Hm^MY L@9G/Jɒ토Ai)؝龮lRn>&oͨ߂ЖU6bBYK^gnAʮ+n+mm>fHXmVqQFtΘC Ai)Ut^pZ`uiRDa2NoJrocLioȋ(r-/]IkJ'mo ciH  ~W\%mv(_!ٕ]br**W\7Fsf_ f=7\v^v8/zK/|B=G  \}hj)~vWq*lUuH$W3UW1 yus(j:uxR?I')yP=ϼ٦X?QYAna_wvluwxZgcq/U^PhRĈJj5~Aa)78o>W7M }ΙJBZ'x aw{O3JeqˮM%+k^0xpcRݘ8w-4ԈGo`q7@gqA'yvzsم1G fy& ˡU1Acק5gW@z eހ7'{.vzgyu wW-WCiI&wRi_ {03V]eN2in>oϼs%u} |֝>m `4/1Z_Y%{x{_t2rg)ڿJ'7Ն:9O8}fi~EmL>o.zeJp!ÆB(qbBZhaԥq]WHz&O7ǖ.=rԅ"Ś6oJ%߮ P`8RӦ *u*ժVbͪu+ש ! ;q:CH ,b}cz˫78Ғ)sf† MlP F4+ʔvͬy3[wAY?Ox,z ܫ_4i/Lde)EFt2~j%u2vg=w.Ҷ" {J zȨu8Oz [}i!:iqP;.-] ^KRPiwj8a鳫ۮh:e-l䢊BAB"QXoizBi=۲/FHAEEd` p7g$V:,^%.墵BP \4D _rKoi'Zn%= X˹"4F|ƴ\+u2Bǡz׼Hkŵ"teOXwSDOzM~}.CL.[_הoԦk:FhUیONrs'㍺+Ǻvbl[Ejz+Jӹ儎Srsd^t~<3_:¹O]>n?#Zje>/ҁUJ5o~4 Fv x7 >| =spJ@R’Yf%fB s34f@8cch+lxЉӪ"I%-n孢!r 4}ӛ+яR*[yB3'H[*#3o˖Rp⪋.))Ze.dCx4OÇ)i{ܨԫV%3#)KbڃR%QճBMUd1U)#Z:UFzlE(%Je]jXq1֙-O)a+K]Vfh*1+'SU%leK[yI-BYX xik[zMޖ:z|6U`)kje^AEVmYU͊N>,W{{%'BZ%U]sGX~,k_ʸ]F$S;ySEmJ{öDJb$< SUy. ^+Z*ruao x:U)!B3Y1O`6\υ9X26Cn2 R@WG" " v9,nZ9%*4ew,Y΂Ɗ;VJ?_G)4Yu?s !Ť+mCu1LM1z1r`ԧL9&8%4ZXIg{Gayd-Zvąe5A;ӡ|]mٚ> y5oDW^oZ=Ԫrܴgq/pӒ*@sR.uZTk-=h-jIHédql23"q^8:_w=kK DnWs 'X= J- vpAE(t]gE@Ѐ gH0n6̡w@ hC1n#bB(2ͅP,} *R,^^ cF2h<4qncF3rLG%( IBL"F:򑐌$E.ZQo&Iz (GIJH 7 M,gIZ2n2V#,?bӖL2kKǽ,e0 az@ "Hқ6INY6qde&IkNy8YD3> ]l%;NIS d>͆2Ti'Z9Q|*(=Q*t =9 gRdA#AG+JSz6mhN/yrT PDiJ[$6N{:՛tUehP3իs!ťDSKMJMyFժZ͚u*7 V  +ZNִjo<(ЙnxiV*SJ~g.uѰC#+Iڠ|TzWTlX5 ;h* (Xv4}(jV<. NܪȍnefֶuaK]~T]NMzEIZKؼ~LؾNp`Wp+`<@q+o|7߮r0'r˹M/a ,-G]* k'oa-x)Zf\c߸&v<o!.Ȓ=2eTY W. т`41W p8{Yfrڜ($02BEa>Sg9~sSJ=$jh0ntSf,aCt"eM9S津3]iKKԝI $qʟgMk@38~o&9@ H3ҩtC}d3٣6Q]j9wz=sugr&-^f=0dөn6k';.<vRntƵu'+n 7I7$޷bj~z"2O-ꕫz nֵfn'S yM(ȟ x›@.3 !csV3mԫDX6ż?當;ڙv@vݾ{:M_}ruhZ)^0REkW3c^&yn)k$#МwPf_^zМ a@l\ B||&%L}Ǻ+.Gh,Q\K.e?|o}t%0`h}׀_Ad78Hygq8X AHԂw |6s!Gځ/XPZuY]0h~;dLȧx()DX{z=cb9Z-XL Z9$3Ҡ6z8j4 }O\U/V6s5EM u9;J~rT$CZwGJeC7s81@SףT@uQå]&:::ZBçozĤiy3s13Qh<ĨTYHD(]Z IjKFDFtD۱ DCDZ TT+ɩqzFwDG> G@[G?+A;F;GEEA vUQx*$6{XKUIJu#O{_ꨟ*P{yPYin+ZK&Q^{{\vTe~+1H}KI-E ^Yg) v ۹jˮ԰Y#8;x)1ضYH O\k;jDoeZ8Sk Y2@R&5{bvۻA02QZ[TGE%8mre@ː辬 t520VGfKj+t.Wu+@;ZW Xʣ{DX7w'psg.}*^I< Y76.@\?%L*b;])U1©UX;; p=B7qzHXp.2\wשp-4~}m6ӳ 2iӳ|- -z PoDlG˭-9v}d-7}G.M˳-MFcVoZS/~I>轍9~ΩR8#kE }Ń.FW#-rL=|ߏ^ᶖ]M7K-*j܉xx- ,<ǝ nWWQT-旝f^td[h)RA(վ>=ض (#mΡ]aܻ Ѵ!-}&_~\>.gڎ+r0٭77Qn$&/p H|T䧎Jr4>>(n-u-鱾>wtUoT&␆i-]?!!{PKMO.PCM֎ކNh,_, Qj׉.mv|Wf]lݛ^t6-6ILnZmsVM؀d_Fmnv3~Ma!,j1 @$XT(C:(qA+BqĎ!?bD (LAK)!hx!E͛@ @H*| MaH$XUYnڵ` +HXh)Ξ?/z[w QEudԑ7>8ƨTl V#Wm[oyՊwJ@U>|kرe kY Pdk>[]<嚖8MPGC=l10@vT^ov٨hHN=ްPBî:C<pB  2jJL%^"q>K *tED+@h܍ DƫDE ."jȢL =&bǿ I%4ʔ8}Q#43D6LuV8'ID_HQ2BZrVLevYU=}(_$_cZ.3guNU[r$6\uqڭM*^ԎAzͲ{TT:crr oOq6Pv/Vh-"Sˤ,cl~X ų1 xd4xe=dHINkXݎ47#ےOB,%VJ)n}9ZdRe}%&h5N^9*ͯ۹gVTh% CGo)UషvOOx]4ڭ>qg0'Nm;ɐ+4&POϪTF&-̄m;7g.s粯k|g1r16C\)؟5jKGzz+lU6mX( zVuƛ9ߟr^Zc%Ot/YOrjPUYP50ʨ}s{ME Ð$ٍ.\+:\H1J+Tٙ !i:б; p_I5_$|tg1VXB髆*ݣ(ٯJ |P&HN@֡u7Cb! {1(#:mpf\bLŲ1UPy\K{ԋ"W-zhI8$>"JZ  I:NjR$& j*ge[D]'^I%@/_20ʥWkɇẚXHSt9a3h;4j;7uT+WD4O|cRȎu,CH &2j2UJv)$XAǡm&9DiԫJ%vzSvp5hⅸ!D'T7. 5[PfB5 k(:X$_8?JR]hNS+&P K9AZ 9^isU%jdA9žF'bJWtƨtY!hWi5R4b'mjwg/k05bJ6Ҳi]Jlm:٬uup8尳yl>[G/_L~= ҶOkzX~Nm-۶C( 3ލHlYjw#SkwʷhDɺRȞrKݧtm-;#r]/W*]?,p,$Q&Ltk׼uWq `䊘B{A肗OS>dKܑN8X^渞l wq17;HrHp\.*ؚeV*aRlj[a)Dtn{K!W<3\w Hn~'eE3qllH{A2Wl8ӵfbP˓DŽ'ŌV*W o/Qv5u7n'HcMzK>6-RLȜ¬{4E[-$?oV&i/*Ӧд(n4}5KtpUuq ngl;޶ͽN)ngokYީKpsPln%uٍg k1Z[0e튣\E Oo5[cyW\r}*T3w(5,[$xսBMv觭ۤ,T5e[5b[ߟ8c1ߌ ?&sQ(1M#swqZ)c;iMx₻c7pLK0wm來'yLdo$ED97b:qbϪHflEk#CE1C2C7qg>wD\~3L5{$kHTD*ꞥ%%wDNȠ̣I!̣GD̻BZ|Lrka4;ELěBdԲ-FZITEDi4  N4McKP=70wRux1!}ƳEyQ E r{Tt\8Lѐlɘ-ѵ C'@>tJ9U?-E*LS5 d0Džօtĥ],Y9u5 \6Ӝi\ ]Ս]]A]\"mHZ]QNm[|Y X<؟Q@\( %R;W ߨ_25SI& *~_ Emu Ae_wVX5X\]\]bYQǢSVZDx5cAc#;MN[7}2HaE4OeSEÝ庬H.1oVfv:\ e9ǐ5{dPt~h )ޚf- ^eh/gGg-W8OEKu g+Π9uhCWFDJig\MHJh\2}2葾M\lרdV p'&!kThA؜bK*.֫&j:MS.Q$i9Z[eeCsNka ^ҵ C.HESªi#LRKyc{:&^[FM;&'UHv]mŏmczՒ^e%fCN3eいnnǷ&uiwWӫRDˁb2bZR&fيmGDMe|l&dKnznlۖgfTI/`5# `l9*m"VTaoEff @5eE/{fcQu@YqϣVWnM[bۓP~tlnf)WOHDkifh D6+Wޙej6봔%t=!7lKrsXiU't(~jܞ$eG߳%V.RS="޾4fUvKe5qkjuJu^talgVK ,Z).Ow845osou"[r˕Ϯ_VmQbB Wa7exn%/ш׉vVndq,^ܺUnRl\;*vY_O.Jvx?_uxc%9קpTduEokyWlzgj_/ _Fjg^3ȆSu6A${bp>^g~l'Yaz&k !wqoU|DO3G]7 _Gt`WFQ[FΘNoDOy8 1_']ηt\%h/A~<ilNoJwwe cqxϿQ (h B4x!@^b ƌUXG"G,i$ʔ*Wl$L>tĊ]I=y1&Ȕ?}\OKf $@O5ZJkӦN)̙6qǸhk.޼y~\Db5ٵjKqLXTa7kɭvjZoF LZu5!ܺwvyښ59U%kȧ.>9t-oƬ^_ Tvb?$BUg~L_{;A$[N%Ta+xIc5gcEĄQb u 2xQe^(@, "|2f_Jqe%w%Uhm8 W`qK z8S:N&a\r_=&awabxjmbuBANV`k\iaPq՝K:XdI7c/UIIցWz~Fi.zv&"fj%fj)Dvh (N9ZP{Wle(yf]zŷp|#vYX@hNg:2*yW&JRz޿n+M'(㷭 쩫"j~zIaS^@q%ʺO)^d6]0z.0@$CJSc~zZbW( $e=|<(RK٦#\Lf]0Ş-&7\ӲSP}L]U6m[~yJ `Ͽ', 0{Mm^s;+Oei7c^VΓu,1Kɚ9\7xu6LZ?>܃~|7o6X4?_J\=Q'9(Ol;-}.yk#xUg4GEA8?oy .ث x@2Odkw%ү2M;0aЦh@+pO\ 9C/b( )S*ku/K&y(C8pudh<5pp -%N[c!;E2y*(0WfE)(B-P#kYŪ]ji]ɺxrd[dhzѶjG)Vs%"J`d[USAZ!eǚ-b c*TOi6ͼIô$''Gs u#y9I&RA"r;)}RzL2WHu&@Rep٤-O8);\>TZ.*i4Zi:"a:Sp11Q.J›VzѸWthMz ?'p%foy/]~Jc*(%l/6o v?*Yu*twR--|v/-sU675쾟ٹwl[WiRikyn*gV]I{.X#f5ЃVw_Qڹ7sޕpC%o'˸}|?\|*05񃻟]4ƅ>72m @ &. 6> FN V^ BϽ՟YQd JY\۱ab !^y `"5]Ƥ` >^n!`H-Zr2a FjMaExH@`a!v261Ѵ!GF<a&" ޟ#V Dha''""*&]B$O=1Y-I&D!b("(~"/b*c"~!]$_b\V }- %҆ %bVa"( 0 09#Vb p雥T*iUȭ5cݢ nbFb(c./d8#C a#2Yض414OU"APbFt8#".86$L* ڡ]Ud1AKU,Ivܵŝ\ d>@TF%)"K"KƤVVȁa!dg^a]#q$H_#na8¡(Ve)VNyeq Y %}ҩAբ-v9`~S1 %f-^]dFz^d=q `_I1g&oV a!%㜝שܷ\o<}6 n&uRT^ga&WRJ!\IEVtr#G'||'}Χ}'~|'g((hHf੽$jqOQ@rI l̀:rj4:5#UNphMxC@$ip(9!R$S⦅ETTHč>@hDj)#p$](h P%=$ċ.ŌƝh *oVtwEDXZ]ګ]  oH@ĨO<@vjpNb*s~M*衺 ($L]Z2%笪J F@Zj7U^&VjrFTk4[3z^xnDi+K`0 *di]P@p,^kGbkzieJ^djN)2,JbJ8bB$0e_Rl+>>k{k!" ̸jO *H)7"l9lllB, )(b)vBc>^rd^L+^.,B. Flc ]ګ1]J+qkFLX-(zc!~/&.VeVd%Jv%jɮ*i@ jnD~+'2nU6.6o*..rV_ەnoRH@@TZafV-U8Ү-)Bo+ZomT(- D!lVblϲb zb go0w00 0 g n^F +nF/22 00p6hHʰm/17O1no1w11qM111ϱeo 1 rnX oq!(/qMV#O2O )&SXq&2Ù Ę4ZR"_$_r,c.YU:#!1Ŵ,_#(O+.hg/c0W+w3s3Q.b,-32Y'4SsY3O3񞩦m*eF|sEsz29k9-rnپ8/$׳AsKs2#+33ҳA;2B&'c4x[kR@ hg VIs^c,iTI4MkMW@3Eߴ^4OKLOOuEROPiS3SGD4U{Tg5fjЪt/e6<3t/{;y:O;[tgWٿ@zW{̻ vg1ǯ<|Ƨw =}=_zl˷Yi_'-+gS݁W=F 9;nG߄of79'>4Ӫ}4տ==@xTK;-ъb`w*r-8k{}}!y[}v7>Cy߭R׷B],ߗ}ۣ[]w63~ߐKsO~G3}*?K:>Mk {o"/6fKq.l*1xaB pÇ 'F FHaC?,Ѥɋ$Ct& 2dbŃvD hPC5ziRK6MHӆ;Rk֟9neժTǖZv,JR>IEܜ3^Tm^{A͊lbgoT V1W ]L xE]x16}uj _fZy2bhMYlig[: m˙7wu>ߍصwԕI8|~|{] ~v[j:{?“L&p %>#:Rb6ٸ?EΫ馜 ]|F*P92 k10Q\.J&kFj= Kè˓*mK|6 )7ȸTs<8D (@ xДF'Hz%SZN=PERM=TU]UUeX4Xekl\uݕ^}`b=؞f]kYjEhjVeݖۢpr=t]vMn%l|Vz >^~%-5ޘ=8 ;PKFIEDEPK'AOEBPS/img/lineage.gif GIF89a 'Q!"v**(,,V..?33333f3ff55299B:::;;BBIIMJsJJLLnQQeQQTTVVZZff3ffffffffhhnnInnrrwwyyyzzz~~倀撑֕뗖f̙̜|:n_p33̙8%_!!,@H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ J 9*]B<\„ѫXjJ)ӥYxrG  Xa"pʝ@jdaAŏQPX z]̸/4d` Ï3k̙:MGПM^ͺuAԨgB* µWRNe q*+_Z/Aq@D':t<0`,TnvOg돋Y& 6AVhGNDyvaIi!A.'8sw0(W"^h+X.(DiH&L6PF)TViXJ ޖ\~/zSEF1l)',h 4 mE2֜j6b@ Z褔V:gdcA袤裍")z"*%B뮼ꫭ6[mC솛U$첚'PvZ@|V+IǞMux ak[ꪧib9 n N<79q XB7b,rK(P&x#ko~:]i @-DmH'L7PG-TWmXgc6TAQ5\wS* (p1eWq  r uJeDeQ*4)>'M (bY~~ lbçAEWB@*#j 9t)h d! MA v袅SY)3Pj&-/ ش @rhXv`ӳ$0 04LϰL!%P@,l"TJS< usKX eCesP@ ͵1dY 5H Z* E)FU;(ԐBRБǖQF \p@*hL#n2&Mr(ij DL6xj@.bɚcsG>ď|rBh#EyD1HxG1/wJ$NÏqT,gIU4WI.uS1̯KSL2IN@dR(x{Q MrPH-&8Z3"yG*3 nxͼ /c&ЂJVZxANi2c$$Ih|JJ_*!4 \ ẔΰZpbs3X nG'*&a⦦8&fF|cvMCG =1d$goPr-%e ).oEUChN6/,Xxγ>πMBy.˜}23ѐ'MJ[Ҙδ7N{ӠGMRԨN5VհgMZָεw[MbNf;ЎMj[ζn{MrN`˫Mzη~-b;O'N[ϸ7>_W JGN"8W0gNo Gw~r@ЇNʾsHԧN[X%t{PϺNh#=aONh_;O\nh3lS[vwJ|nln^{2=k_<]lOOgO_}al؏{1͗6>ڒOY?}m<Ǐ}OC>5y )Ǽy󱏾z7N7w}'W~wXov~7|w|8~H08}3HX7X<"HXJLn@耽s,8`wl~a؃}v}X>h 8#ȃ(oMxxzXlOX 8zA&|]췂^`H8svhHixGX8{}(VxT؀HlȂHsH8;ÈSW،jz'~yQ_|=}'Ȋ8fW(X8vph|(wh9D{g}9mwr8&z|9Vhّ ɈY&y(yxs#u029&-4<ٓ> m6o8FyHٓAoC/PRIKoMْO9Z\ `b9dYfyhfplٖnpr9tYvyx^|ٗ~9Yy٘9Yy~^{Yyٚ闝Y9Yy9p ћYyؙٝi9虞깞ٞYY.qٟ9YJ ڠ)IZz)p ڡ I a  8 "h>@|DJCjeYg9K0ʣPOxT:9y4T-Q hi`, /zOZ5z2,Qʘ~*j Zv:M J LzzB !C^ \@>J _pRo а 0#0@.nzj(*ĊʦΪ::Zj5Ԁ uaPzߚzڮ~zz>>ʮJ P `ڭ2K [^  aE*(*,.ک7! [7 \б*o NY !ЪR;g:Ϛ 0{ອ ,Kl *j^kw[B@~ۮ[ZdK-Kf}J  P[ j+}Jk^Ч ?``aۻ*2 ɠ 0 Ի \^MQUZWK1狵U /E*Jeۮ{ Eߺzy[z[[[;LLx |+&<;i2|Zî}j^PK8JL*[0ŢJ/U`ѻŠ ], [ЫZP*A\컢ͪ^ j-+RQx>JDN|؜̭PL O# QŴŢ ,}|ɫm}䫺ۧ`ՌÈ̺{p 㞛믓}!,mLj=_A<ܧ݊|qmUYj8[N P`dELbH>~E ^ B#٩ 8M` 3,6J<']Z. }ܶkdPݧC < ׭\(R~J䚮XκrtnA[ N 0_اj8 ~N4m"|lMӊ*+~+=D]ݼ&M\vݸAM;_ECαAGݰtK![@'k \ݔZ+^f- @^`0?eY{_٫^*چ죵ަ} ȿ.[P?ƌ<[]lAZ `.8-úԍRO8qnDkg_֯ nl@p\v?[xmQ`TƐySS σoo } @ a0a >$C0,ā|#$9 ɇyK#md aB*b1Ξ? =gCALTQ&50&JdR̕G :+E2jVgB0 }ЀE0 BTCEXbƍ?YdʩJe ={6}ޤI!BY"L4EjZ\kaC-#,QĎ骗ōG\r͝?]tխ__^TEa'+Mb -bts߅YϨ*{$p *o&R+ *ˁ bÄ =2xˬ.Fo1Gw2 Ң3BALHd%{H(n;.,8%K/3L14>̈́;BbȡU>koC{L>4 kO.{ Pe QNT,GA0%;2E;l%PēGUWeUW[1B Z}2W$mBW+v,OڒLcE6Yeݳf RS<;;*[8R2Ze (#2 䅉^o7É}`F[U8c}IQɋ49dG&dOF9eWfe_9ȥfjjXI94^:%kD.jzM4UkOo%lF{7#CJv;nPmj;Ӿ3pn'p6"fqg.%q/xG>ygyg~K%z>{{?|'|Wzg}߇?~秿~?`8@}3`w>6Ё`%8%Ђ`5AvЃaE8B![UBЅ/^O8CІ7auC0y&!6RC"шG D&6щOb8чCDbE.rOTc8F2ьg2ԸF6эoc8G6b|)1Gz~T '.҅_;-igx5qwEea$7yGr%oGN0ks-׹gs<7:_tϛwϜf;Ѝq &:..;So{/qw; }{.ӄ|/x%ySy3~|?z;uz7MT  }^(}[}| G>wG>}WoL}[߾o '?~ߟ?>:J=nZ=}:$ȃ=_ 0x{ <@ ,6@N|>#b\!þAk>?A\ ? @3??"?!BKB @<@0Rc$/L5j9ӂЂw`056d>C6C7lC9|C7;ɝ?,4CDDl%(A |#T&"DMDdB(P*+d,|1/CeÁ(C84C89C:C<:E>AFh4)DETedf̭ 4iFjLbQF+nFnFpiFr,GpGkFo\vlGsq1yzGud|Q$ŘJmZUl0|Ej@C5Z[NkH;H` cFc4|dtƎȏ\FhǑ$ɒ4ɑLǓ GǔdɗTI~Gq.ZTd=p׃=%(`8wxw4LD#dʦCĝbʴʫʬʭʮʯ˰˱$˲4˳D˴T˵d˶t˷˸˹ʍbK˼䨾)4DTD+ֈ+EP%L&(dJ<ʧJۑ,ׄؔ٤ڴM0 $L$44IGpNG褚NԜh{OdYM\dt\ +0OdN$5ENĎJ N4 O%0@Ueu)L5b8 Dl DcD Q$mAЌPd*+,R5x/01SQ̰R5e6u7Q($P<%F&?=>@=)-EDUEeFK`HIJKLMNT3]%R5S9N%T>N=E@mP Z;U 5Tt^_`eOHb5cEdUeTPeNREhSUU@uVA/@%gs=r6sFtVBNK^zd#YfUfeE.OF-e-* L|v XNKfO@S0؂,h؂\e( +ni ab`6/Ndfn`3Pa5F0XS4Lln&@qFjufv꧆v[H煦}1*QX# Rd.jgEnh 0/-߽_--0]0b->.>h0Xf V-ajo.$(j4i%p8fc\jؖ٦jEfRX!,HedQdJhee!n-Xfk&d0_Y\Z-h(((6Tʦla-./lfЄHnn ׮ [Hm^z~nOpqpN1-=d kW-*q'U8d,/,*pݒ>+~o/.FhV2I.p .0`(󢎂Gvp=j t2p7CGD?doq/mq#'rMF;0h$HepP\#Or0X%qyn_= *Y,x0u^ 67V78wffw6U&jHP%`lgAwdTr7sGwetwtGqI?`kdtW|Eq?{OUg{kXg>%H)0_7_uHݽy0FdOlc7Wg'㙎ia:_c6M6:8GFmpO@O qt'77uq'PqR/I'q{tehjH`xz"xV'rym>(m]@_{70u/]bWuRs&/WS`gG&puX1ٶz.)t}sWd`x#,(6*w$$ʮxTnU{"#{_xߺNof5s'/d&dzT'%W#V"Պ=Z>mҟ+h2l!Ĉ'Rhq7r#Ȑ"G,i$ʔ*Wl%̘2gҬi&΍РBfQh2H%T,EDY3jZCU{*] 0`pZ5,0䈒([Խw)nAa0 ӀTRҨ`P%LH\H5$7J01! 60i7ࡽ x!Oa*\|tح;^0yǓϘ<׳o=_eϡIeYp?EK(L0Jȋ_$I*Ȁ' FXdb8bhQa-c= Ctbfhƙg;VǏBA$@[ D1AUZyĭvAPw]Z'C9&a&^n&*7uy'y'0mQ:hEşJ zZV)`Ґ/|R'ꨥ' bE֚bC$㎝ĕuHbYT1M%Xj"xi6$]zua܉昭{Ds..i. 껯/ <0[.R<2a-wgiI٥Am]yw4}74ԅ~8b:8K>9[~9晟EJ]<6衯7-~@ :뭻:|'>;~;y;,g6ڨ\ɣ:;<{d@.[=k={=?>>5.?K?/?(< 2| #) 3 r`GRp=H c(Ұ6!s>!(RP<@B%*A oM()J-"E s^"(1f<#$C8YdE*ұɳ=# )A<$"E2|$$#)I_xAY"&1,ώQ$SU|e++yFjyH rg\:)щk(FSO}r"1sC 6s P4(PNvg`Png"s(*Q/F=*Rԥ2N}*T*թRV*Vխr^*X*Vnf=+ZYI&C e|.@!Plh5o@,u| D+d#+R,f3fi,#(>nQȵ%=)AVI|݊ }+MzX"@Uw&;lۢ#]%wgr.xUς,.(zWkpmH@U| t2mirӷ`kɡ+ S03]ÂD'/uH8~ Z׾ "o3 QиZZ3s .zmM! E 3N~2a{ /")"J5k e SgɈU,AІ>S\_َY/"hK_te|ș ~}sh;πcWr]׾5-a>6e3~6-iSֵ]U+͙T6@Wzi4A zj8q8;f39:b^638#.;;ۇ4H#K2tA.0w +[<9ssa"y().F?:ғth[ܐxGq̰qYC ,w9)stc>iDP@'.ӽv;ޓB>}/<^R'ɪ ϰqN`9mvv?]ճ}NK~SsxA&~}5 ]jB]_z|(lEf5~a/?e?׽n/}!HME]tE']ٝ]h_ClAM ] fnĩ՞$t܎y.+N[qnAE qQr>!F_ &^I  . D+" %BxS@ "D( aE"M!!!"UaAu^"6":b.R=sMl]yAy݉ )'V_NDCKݗ !"//")u V"2)*a9bKD&~iu7~#88V~9#: 0S1:12&L* +`IM#-9r.$D#B&B#;>)٥gx^˝=z'|B3^*ԜaG?RAd1dcA$E4B$L$6CDzEˡ"Fj$>ҡ>m?LdI5w$KN%@ɤU^%VM$5Az^'ė9c>B#?ƢHd(A&wH%U֥e%^^Vr%4#`Zij%Gz6#HƢt_R.eIfSrХ]RKfn&g&\_%hOv}$[%\RfAW(e]v&m֦mVn#"PFcKbE<&Add>P'5̛lNefަtN'uvg&v:of+ZHSbl%D(PAi8sdtV'|^^gv֧oM5dgLl5zgl|F$}&h"fϘgtYd@h{f (^^-XΰZք樎RhnZZI F!wMEC$1T`Mep-;9V֐>P>hߚ.iީs@Oi@ ZMjL򕡘xbZy)V!陆Ԛn*P~BE8 BȢāBBjAB L~ɸdMMY]]j~)+n f*"b>+~j~LT:p+(T*Ɍ-*DĪƖ+&+-+B;C+"ajz+:i떊:jI*浫ri$; ,ɖɞ,ʦʮ,˶˾,Ƭ,֬,,,md=YOO>8mRmk5v 4f+-fkTˀnmCۢ6Jh: -..&n6de"a!U:mJ-f.br.ֲ, (p.)5'HLiê*F* '.aq*^r% /q).6>/FN/,;_%""$#V-\NzV|mtn`dalivL>,A힋:yA&/07?0^# b/Bmiq0~p^op:n.Fċ%-'@C.&BB,IJ-y] 01'7oa%_/g1g0zmVQ֖%K=@"a+. "/1161a`&j2/sqG n0R ߯1< 7)e*2++'.:q",kf*rvԊ qr&f6&nq&e+W5_36gs!흠*.wqH՚$3g/&pqmB',J?g6@4A/S[0/Qr1 N2#$?K354GwGt=%B3I{< , j >[4(gFFM4N4̊~I44=>3sEs2FX.5S7S~TO5U4OV3P42`x\tRϴtUZu+_5VSVoCϳWS4ۡ5[5_u5V?`cNWDi^^5dGd7/`eR%/]jv]7v=di6VefB6buDTho6pp7qq7r'r/7s7s?7tGtO7uWu_7vgvjwZ6ݡ$+sv{7|Ƿ|7}׷}7~Gww7˗x y%WD/)نnuw~7?8GO8WtSxg &q5NA+P188Ǹcs\q37g8KL3C8@8O8'/979Ӹo{88ZfT?{ƪ99 7ۧO9V6 18q Fܟ{+y'/:7y}ƹ+_y ׁr'*-5*u折:Ǻ:whGOVcJB(ezs,HfK6Vjo뛸:_;g87##O"O{0;{^;3;0ö+iT&pjߟҫD=b롗Ƕ'/闾>ꧾ>뷾>Ǿ>׾>>>}mk!8``[/~skq;oC#~327~ygTlz???ǿ>},2.=@r`aÅ*TȐC}eԘыyRKc'Qe˔+]D SfMc4myJOVv:hQG&mcSOF:jUWfպkW_;lYgѦUԀoe.]vfwo޹~;^k8Ə;|Qr䇔.۸?YRii8MVuk׮=vm۷qֽwmFzq焋#W.\b/%^O"+~.p|wg_\#H$tz'}s$*6,LP 8 P )0P 9Cͽ 6QLQWaQi1-Qy|1 R!3c/HjbR&XR)|+R- S~$3Lᓯ9鬳.S=/ TPLC;Dk3&']2( K1M9O tQIPDQMEL_B [qU]y_ Va-Xremgik57TIeU sѵ omwWy{W}X .N]im!#o6]Zҋ9uYI.QNYYaY'bpcWʥ㟁䖉.裑NZ饙噡ZjB =oqΔY7kZ.fnm HwkJ[N\^mM\ց[ju19Ac/p0^vi#nťqǼy߁_ytҥ6cWWteܩ:^xGZ_TWj|7sw_{i,. V}\NdV`L*6m ?Pk3 r"}Y_W7r錄,`mxA'D!+9s$w [ E }z) ohgbȓ0qtJM7D9Α,s3%N2 w<*ZZlo?\"ŨFH1٬06ip'Aݱ9|3D:A*3>ɉb XEB:\8FJL&7YN6It39GXf:yD_X 0{,t^e+tyE^bnJZ$ꃫ_g%Yd̄?ЦIӚ{yes JQ98r*|*")HщBpai(Y2bR$!Y}rKaSLkЅrԂYΞ'E3Ѹ}zg~f31"P(+dVU`4\Sb6%Otn=iQ1uS|&[Uő5aE#r9ɦZlԚl"c =Z7yo~vg4=[xpk[g|}vW?#H:wx #3\ڻģ68}~XsϏGĠ_j3g; Ø$eڿM~l ( p*B(Ûϭ2""2(322@"&h^ һ(ɲ,O-)/r-#k Z v $rò20S2-&#dXB. @@HA@j,GknZo>M4NtNNN=tJtOK=s*I %! >@$L ?ʘO;MO9S=SA5TENٔTuerXOSAKM%3Ga /5u tT}W5XuXATcYV|^GuZ5ZPF;2Yb x`[u @/SkWW\\5]A֐uEj-(jO5K [" `ĵu] `6aJuޕ^YEZ#SbWvdIdMd!a5aSn)bCJOSkBV eyg}gUeeh6UaU*ctPesxvjj6J%qJ"5M5e)Rf_5_1% n.n6jggvooBw ˈ bpMl I,_1i5P= |!4WsAb|'jilڗ}ݗxeAWYb a1(SM 88xx I >2|%P$ȩ`hl}76T5``  3]@>x 9y+x'+˄oʄ%?Ώkownx٣ߣ}oSXyK] }l/}9yyy Cp r}TrMmȶl1+˺XG”r3:QB ~` Dw3o;g9y,Рv@zkٸo8Vt\ ڹ>!Nq/9EzIM.2Kh׸~֝PC tڎ@״?&N:z YhWļ@V+/7z !:`1Yi{:ڀGİiir%7A4a Daڬm(::41;5۟z)(ulɜuf9١O+6mq;;P~ͺyڍ-$ _{c@yi;;xT=;S[_OB$@$` {+G;[ک[ > Й ۽k|\۾M{=^<5|E![u*/~U|Y={|;ƍEE\O[|%QvBQ2N=؏=Y=HIT饾ک>{MI sӱw~燑S(ޤJ-(o~9=~XI/~"EQ7^#o>C )y qZ\3Z?ѝS#-Q?P:jqJVÃ)R=z^k:f y˜ <0… :|1D^(Y1ƍ;z2ȑ$K<2ʕ,[| 3̙4/+Ν<{iСD-4N/:} 5ԩTZ*N^ XLe,U*J&= ڵlۺ} 7܂kڽ7޽| 8ʛJ-xČy2 9ɔ5XJe9bhG=:թ ~ ;ٴk۾͒pݼ{&#[vXdYv=]㾎=ܻ;I?ɗol4ʼn?`x y`fihgan(u~b"HbG&byb.c2Hc6XOWa|@rHdFWbJ.dbRNIe9H!gGG^~ fbIff&]Nfn VIgv^h@er!hyg>"i9hBVih~ *_BJj&&{]j iJiފk"zjK=kV.l l),>l*KNn)#)+Kދoo pLpp /p? qOL1窋qƿu{;r. s2Ls63|:ǎx.$L4ތtJ/tN? u9Luuǭf*C GGMvfvj;=n3 kA܍7 mww؂ovx⊧ێcwA{C_W{#ߞ^؋Nz馟?κ"sgZwBMyw|WE/|?}OO}_}o}~O~柿꭯kWWe-POx#*p lJ{c!EOvB'@w KXX%o,l _p4_/Cj}~ qD,D!3 '0pTb W,jq\HpU% `sVэWT! EmjU{BFleyvo Ύ4f YmJs<7yKnjwwW re^YX!]z^/{Ԣ׽/zq5bt+xSx?YT 7*l\\k98 pOlaQxs$3x4o\X?L [ADl##9KNkd#YTFø^8 0[U;c&2 8WJ^!Hoݒ @ Zd.3Ϝ%yJ~E;zve>syМ?}BڂX^{jS:ljWzֳFe-[:w# Qio.UQz} hK{pGN1*D nd+{٬;A#t{ݶvx{57gn{+m L |ݖo~+MK|5k w8 N|ifj0d_>{h^`o|< }D/я+}LoӟK}77u׿}첐cL}lo}t_կb-' /pv}oK~M;եw`?Ћ~/πԫ hnxR~oOGWWr /.Pַ =kKԯo޻Z?< ! /@0P/ο&ϳ}{bu \@@[~| ~`{e l?${)+Ȃ-Hw2PgZ@T`g~@X~zobLA.Y[ȅ?1x*3u@ehfhUVgHI` @9 w`{ȇ|zz_ OD?FœH#I(b"o(؅ȉ`X*3~`}X`I [ ʐx U@ {8x aXg;i6I-FGGH@k(B&]^P٨ȍ(Hh爎騎Ȏ(HhAPQZT膮8ʠ `w\(e89e摏(E iE|+ɒ-/ 1)3I5َȇ 8HUfmx0 \BZ8ًXx(e(ȑȨ^ّn)iikɖmo q8w~ {ɗ{i9}IH@ [U )99"__Ёr4e)EcIؕӘrɚ隯 qIuY'w0ijViɠ I LYYY ~(_0Tg'6"yv;m!ph牞驞ɞ99'ٓz)^VIԀ ~Zwx {VXGٞ*JjYF󉛹 H Y`& Lʢ{i1*P_Pv;ʣ=?S"b񏕉F"+ڢJ2@ : ]_ aB:QRpX`ٛФOSZV(} Ie"gghXSYJ Lɨiv{/ʩ꩟jJ bzX}zzEHztJj(z ꫾ j4Jj:*Jj@JKz(zj皞٪# * *GB誯ʯl st]ycs + ˱ !+kM +h/ X*w7/ƕ*HU+;s-IJ;4;N6kx`[QW#˵Y'y;n$HyVK˶mۯMh*Aw yNѵ_ ltmXbmF[n pE!ıpQ[ZM!Kaی(E#i{k+ J;;kwh0]0][iBhk꺱˼맳K:2y.32T[ۛ[[V;lVAijPb!)$^@˿ ,Ll  ,Ll RkMQ ;wh l۱k*<;E 2l79;=? A;V2TxL/pX Ý`14-B,cLelgiLE|%pb׻MĐ z' UW] kȋȍȏ inq s QZr LɝO V0G xS\/\-<lL˵l˷˹ȓ\ĕ\Jv|ǺˀmPSʬjkȲ׌٬\Bb{¥ǐ ͭάԬKLy̩,Z̯5mL- 2R̀"M/ 1-ӵѕї aɜ( ,M+3MEmG-57ɓe%!B]H[]JLӒ[\lvPQVm] +_\^mw^ 4+㌳k ԖFSs]q='׋؍{m}kbhԾ/6]K׷ҎMڥmڶ +ٓ sh땬;;ۧ6ڧۻeڬ-Y֖g``}؉۽ - _;}iͽ˲Mm\z ]ۦ>;E魫!؅Hy[$ymkC{y-=7]u~W^#N%n')+-/1.3N5n79;=?$nN AQ.SNUnWY[C^E^GJX\ikmo:C bd^f~E"}.suHF.Nnb^L.NnꧾN !Nn뷎iuy.Nnǎ)9cÞn׎푾qw%n.Nn/^vK5!/^`xq9 'k#O5o79;^1x)+/ܩXِؕGSOUoWY?A OՕT( ن YZq/sOu\}^/`YQ- %no}/c/{V?YvOo_y_-OBoE_b }vowo_ PoG/e׏ٯt/WGCon/ֿ ''Cno?qZ$XA .dC%NX85nG!E$YI)UdK1eΤYMOA%ZQI.eS_^ dLe,UnmWaŎ%ՋEiծeۂqΥ[]yׯKP&\aćR5ֲ%O|e̙5o,gСE&]闁fk؋TmܹoYo=&^qɕV sѣ˦nٿw/'_y7{H7ݾv|zp@ Tp"-?cB 3pC;CCqDK4DM@[tEACAk)pG /F"4H$;F&tҧqʱ( J,#T1?r5 EtSN/QPCuNH'5TмS55UX-tTZkRQuWTeUPWcvXfXdM.W^_[%vZj2VYl/fTh2jmUwݙ=wGr{;t_Er^wm(}߀#߁ ƃOa({XD=vx ebϬU5ޘ-Ac 9Y6嘓Vԙkvڽx#gx6g?aU6a/6lV{mvm{nn{oo|~>Njg|.hɵh3|s;sC}t6q[Jwz-vmKw~x7SWR֯b_-L&ho~wՋ7|W}w}~~PK (<:ϋ&C߈M|`-xA fP`=Aꯀ$a 0ЁV &;P3a mxCPa }xa[!v B$f&;dbD(FQ8ث 1D,bnD0 ic$cxF4FWdcO8vJaxG0"#IPRT$)CKB$']ORe-hS0dedJ`nɖ$f1B\Ҁd/`FS SnjP%kYzVUkeI:UU8N)=uva=XWV%laVLiV⵫*_iXfVlg ľkWic ջ~o\lj-zVmmm{ۋ6m*JkDdmq{\&mz[v b\fWnE]=5Ku;Weg ^Ty'xWR _p/yR_° fp<XR5t<\>X~#,a> ho&|ᣍX+fq]bX3qm|cX;q}c YC&r|zʈ3(^|e,gY[re0Y?Vd4<>0j1Yss|g<e6 @tsPgD'Zыft}g>IhVs8]MtehPZԣ&uiI߈ҁ^튖N{aum}k\ƨNuV}AZ4vΫj{*ZӦv}m1 u*fLW6w;6nx[/mh`nZq{d)3y'\ gxmtFS <78q\c~8#q}S-疬4Am~s%7y{Pn.W]{ yBjsG]!yϧ4E<O]c'{n>)7pc+s{}vnNN^G4 xGȆ?(~_s? I\@l@|@ @ @ @ ?@(?a?0¿ á|)DDKD\DF G?I<L EQEMNA`EpEW$XLY|ZEDRE^3St#1|D)XEPeDfd|E_Fk`a30cdXdle4r\Gt4u$GwEs$hyLGv{G{F HH,HD՗ R%]R&U!"%/=RhR+R,7Fg/yG K,MS5]ӆ|RLNMCS6S=S7=<85q<}YT~4NTM$TA%S=TKm>ͻ?u@5Man-g1]o}aaaa#eREh]a%^b&^[* ҆auWDh$|I$nb0c1n'(RgD΅@WQ W`eNQ#1c;c]a֕3Sg$T-KNA\R:cE^d.cc@cM6;DdFdNaGf'HTZ5fgeVMNneW`=S Y-S,ޜd\~G9WfaeYnavanfgVO&ZVֵ KR^f`gfnhViVl~mfs>\ yFgxgUSbgugg}gʥgJgfg.hb0[_V_~r6hg@h踳hh6h hNiZ6iiiijj.j>jNj^jnj~jjjj閾"iikftXjNk^knk~kkJ2nASPek8k.l>lNl^lnljzBXG͞dl lm.m>mNmņlTkf`cjEMS7>zu:mmnFm.!ɦ쯞4oovQm#&knnoo.>^oSUPUF6nNp_popennc{ ~eDvppOq_qoqqqiv:qqqqq r!r"/r#?r$Or%_r&Gq&@hr*Ox i/r.r/r0s1s2/s3'ORPxs8s9s:s;s *t(ѢF"Mt)ӦNB*u*ժVbͪ/ +v,ٲfϢMv-۶n+חRiί?}^|UoWq ؠFV`Vm!mpw5ע/¨{X7☣矏?d  Y( HB%JY ֡D&*Èm01/+=RD6YkҌ;sYg= {Z,š2ʨBi vi2ⵡDQ4jڪZ⚫ګ["lx٬XWE +brۭ߂-#Br#Fa1D QxB19oikoL\# 3ܰ2 S,!P+hsܱǯDw QLmDvs\3J8?C]F\K3[S{<.&aL'QPĹm.Jlhۼos]w7I7ݷ> T^8&FMb םi.$l_94ݹȭ裓^߫ n+D2G2VζΞ|޼C޺:Ʊ+7J$[S{ 8#߽N_c߿oN/Pu)AE _Ԅ10 g b0%;r@c M(/x 1ރUv!{CuBIXL'68 u+b1ZDX1R tj\ F Zqr#h.~1  X72q#! i+QlGB҄$%+D.2k#7Ғ%)IMpXO2%-k9S2zO_3&1ic"3\&3gB3LI(mikbX%7];ё'isi^&;'K83f:itn;(Ύ(Ai}"6#@ 74=AjQ,ԕݨ :яT(IJu*]^H[R;25KFқɣ/)Oәi'g+mӣH=]*SOӠ9D*U[Ԧb5v{*Tg*BSwULU="Xַ5r+]j׻5z+_׿6,a k"6u+WZҺH`^Y˽Zkς6-iKkӢ6mc/ YH6`/﬛+g?7.qk"mmB_[&ϲ4)v۴smG7/y\ӹl=Ss׭ݝ/mzޔf|ۇ0+l cp7  {3/O}hpμ821kl8:1{9B2l##9J^2aa. .E[P٥!j`8`.n2l39j^37PNU@{f sG?:Ђ4 mh#yΚ9{mKc:Ӛ4 hE/r)mꕌӪ^5[WgӠ֣Bj:Ԅ5{_;9X׺^vgC;~3=cߺ޶ o;qMDLy6=w;uAlu|M .y̚hþўOu>a>{?F>g_C_G~?VHzOxO|~e?wz*uo^B"t_U_  !`:^>`jZ4` ` 2 Yz  Y gY@GB27l:C"X`*2a:BaJRaZbajrazaa: Π~ԅ  `V"!ab b!!"!o a`a!"j&rb'z'b('*"fFMZbf(,b--b.ba)"n4#*T+V"bb2*22c3:3B!/B!0 c^Bc7z7c8J4/"$^e+8c<c?C6HLdMMdNNdOd?vIfR]$pdKK"JdS:SBeTJTReUdI %[% d?"e)1ZXeYYeZBbeVVv%K~<@]e^^e_d[%ZQz\W]Ƥ_*b2fc:cZ$`&M1e\a+ dbBfgzgfhdN&Y >e`f#L2hfll&FfiiQjak.em pgqm&X&o6qJtRgu%r&']T&aeszbuxgy$v&rwx{g|ʧC'ngw#|gxgig~"~"hgPf (s]*hZeNBJ(hTjh`rhnfxhd剢Kkhnf%(@}(iAPiFBih2)9 j^(⣕^i,e)i򧗚#'(6FRip4֩꧓jfn@ 'x.jJRjZbjjrjz꧂jꨒjꩢjꪲjZ*b],j,j:j@*jk k"."ր2jb!RkZbkjrk*2*ήv빢k뺲k~ +p*kƫΫ^ԫ)@2l:BlĮJ`"*rlzǂRZ,fl&tcȲl˺l쳞,$klϺ̶_͎L"m*m -Ѣ,%.mZb6-=-$2 2D9,e֢mڪڂ"_zM68:--ں-mN$8$0B2n~^ M"6?0Bԁ:nz2,.NM8@BA$ʂn쪫n?뚭o+톝n*2霂6+p xVrozooooooo/2]]ToTbh#p+3p;CpK0ڜ[Jp{pp 0ck p p / W Sop0 q#qp^1'Sq[c1.5q*<1Ogq[1+qq˯['r 2q1 y 3r#;#p!Z@ r"xV&sr'{'r((r))r**r++r,,r--r.$Z]TrT%crhh.1#s2+23s3;3Cs4K3/+/0[0N1Ks7{7s88s935ϙ5c0kgp9s< @tAA#.?/^??tBStE[EctFò>sCDGt*FtII@sy4HtLtJLtMt,4zt6MuP PtN3NsOOuS;SC<uk!RHGuVkVsu3OcUU SwuYYu(uWX Yu\\;ZCU[5]u_uIuT/3O^c_+b3vE6Pa^7ve[ec{`_sa'dechvifTd6ikv>/4Cjvln6j?gmOvbvqq6IٶpGnsC_'kg3w8wtkvt[r_"7wwyǵw7Wu?azdyw|4z#xh|~k4} agw~wA>}C<'8G7wNFx{8BO8;-8wW6mΈxNxrwXxx8387yt7xy+3y;CyKSy[cyksy{yy;yGy_7yyyy.EǛxK톳3z;CzKS::-Wzz_:* zh:3zz?y/Zsk{#P^&S{[Z³Cg:{{k"z{K{{{{sF{<{{p{+3|;c|kCO3~gG/у;cC!~⻄g~~o~Cw~ȝ>꫄~~~mǾI}+8Pdg[cks{;@IOaW 4xaB 6tbD)VxcF9vdA^|4yeJ+YtfL3iִy//2*@ƈ5ziRK6ujTSVzkR D}%m:{ܱ3dZkٶun\su82g^{Ξ?qbŋ7vXVc][]͛9wthџ6}ujի T(dٳi׶};d`Œ5vtpÉ7~yҫ7wyׅ~{vKu{}wrɗ7=ٷw>t±׷?{c5Z\9`3,%-35ܐ=LAEDU\6 -em(uܑǓN * $\Is(B"ˣ/&0A$I2|\MQ8圓N<MB N=]&>|RXf2^#bs'jl^xbMI%-5ޘ=́E#vS޶nKj?mu9GYǒONXQNf_dꨥꪭ޺L C}e9i_[^~np}n laF; wT6쓞>5ߜs_t:ל-O])XA *0V$-8Az~I(x)T YB1 iXC9Q=UKXJRYFD"Q`KXE+^1sKC1 dXF|PQHE,qĚXG;yG?dX" R$i>/P$6b0&9IO~(IYJST*YJW,iYK[%K_0"Lǐ$# g>є4YMk^&5} d,#]8YNss\f%';SO^@ JLc"BPӒD)ZQ^h.ٌqHIZRuhCN;³1LiZS9? S=(a$RT>QTZU^5? ~aXȔTizNVq\OӠyK PD%8[XUbX>;:!f9YŚ$u)!ZZӞUjIyBli[[(E -R}azp[\Ur;H m`s[]^QUWѲqx[^vzށ6ݭ, ~_0:HwV`wZ[a _.za؏oh )VYb1i\c9v͆, kAlKIV-DPX Q\e+_Ye/aR of7YG^&%!xÞg?Ё ]hCщVhG!0Is\iK_Ӧs9i xASթVY ~?i]k[sӞyg]lcVlg?і}kk_V%mo7A[mVnw2!;PKY),\RPK'AOEBPS/img/proj_nav2.gif =GIF89a嚾暽旹蕺㔸ߒޑތފފކ݃}yyvttw|х̍˟èľʾˮ͙ͅujgcbbX\NڶCԢ=˙>ES]bdhq}|~~~|}vvsgmc]eQ[bC`a8ab5bc3bc2cd0ce0ce0hg,wl!qqkxen]`ROFA;$;6%30&&%! %L n0?G"N&R*[/e0h0h0h1i1i1k3m7qAxDzE{G}HKOSWY[]_bccccgjjj!, H` #(\ȰÇ#JHŋ3jȱ+}IdɃ1޽Dz˗0cʜIK8sLϟ@ JѣH*]ʴ)"MJy0Xjʵׯ`ÊӳhӪ]vmԩ&Kݻ`Ͷ˷߿@%Y5w)f:uK2xD+xi޾6^*4VR?Rv;8xYBmX|Y㉏~|b^^P?}v  @ν[Ɗ<^O7uCL=z(s~uӥuQ|wAxC; QPB+{ O'pP\'xBT^I (؟D94%IC$ae4$,Ђ7`t]#^)B 30qaOdL_o?u:`(ֈ$JdAe-@%VZZ)͖e'zY?2VrEO~'z> 9&:Rᯰ0裒B夒V)^,ufxB+b )4((1EnYkꢊBZjxʾz :(pa0V( B74\\)1cldol0 ,$ OPlGjA+"O<⬮E/uDB HrpkTOT#,O" Sm$^Kae=Wp}2P),HǶ t .sZC㐧 ((_Ӫ 45(T ݈d뭻jmA!Gl ~),@+~| ]!# (j$5ء . l~a{{7!3-gtɉz3.78Ms*k>m| [T':kvicRHڏD|C|7? Dxp<ŸEiԣ 8A9ij, \02d`$H2Kcbp;c;R(CS Bx̣>iEw4$q1H? ґ\Qŏ#$8INv㓩3c,&R ḥt{ȡ!Z{|dC.o"qy>C$欸Tq B(IjZ3̦6nzLe_Ї=C2Zdd'/PPŞ; >D1\T8׹gMB*N= D %}@D7шf4I В݄>Җ )( ,8ͩNwӞ@ݩAԢHMRԦ:PT:ՐJVծz` XJֲT09ֶp\J׺xͫ^׾m"Mb:֮daKZl]JXj hG!0M,<@ Jx5 Y lgK[Zՙ怂nw >onPtȁЍtKZͮvzj%o;1\ݎmnt(C8;xͯ~rWjaNk㝦*,Cu/|k7{X)js\ -pqwC݈> L,^UKšPLtý1(`-.Vȸo30<,e(ȡrS9<89`hf(Mzη~]Ps0&{8Pn؃+Gy[{ GN(OWHoϜ!Qmpc -ЇN) q/rKr!F:L؄N脃E$CV VxW ^s%" Oj"mTX!s[ ^ 0,dx@lxQe:uw   & ؉PSUHZp p \ 8F"x4舅,0(`؊X؁X>P&ЌX؆x߈>xz.ȎE* ^ p Lȉȏ!RE[T& ٌ"yIIZ 90%P6y8:99h;B939FyX' P TJ)O0Uٕ/xxM`zRlI=?郺`P[2 \ٖ|`)hXxz771ɀx٘ٗ bi  W io9hciY)Xhf؋8I؛錸I)iZyiI y9Iٝy$ɛ ) pIYɝ:ji* i) fy㹠 ٟJ "zY0 X[YSiIAY"+ Fjٗ1/:ؔcٛ]]j^zyPRz(Y8Q$k(; ڴlKeV9ws賄[ǷlcM7LwOLѶ8`;c[ +kkeӪ:zbڗ¬4퍣tY íO=zn)ݵl^mYN΁v.yo=Yn]Tߣ05Xβ.}u.d>|.eZ+ՎՊMy趭V%0E\u-'N4/=S չk+f8*n^xg]QD!4=bΡ* IR$Q-YԵH"Ozİ  y gВEE"F;~ Ƀ&Ɯ'BP"BGdܳM u9E\\1!F [n| Ő Ih1IpLG|*$i):15$Sˆ0{ Tǻ*L7+4 εQŤK'USJ갭L˪R[ɧD2Q:)6za45T^v%{%/b?n;9MG=nzpZDJ17 pbf9PXYv3 #Pf}r՛X4̄"ڋd⵻K/SxiJip]!vCW;u8C,ÿpr^Z>'ij^* jZѢπTD!,MS[]~F6*勮@n7J!"ʒƽ.nT(Q&wDґ D(E9JRF5񰇿yh|''ZҖ$ɬ)n|阩%Je2k a&1EjVӚפ.(9PZҤ6iMf2h;84Nvj3r,sg>bOqsT$~bq@6p'?"HF5dh|PlbF js~{8 KJ,EZf:3\w?Qj0,L,W Z Qzʠrc6:-2BX:VЉbVUΐ A$կw+U)cUK.ZF>u!xEYK\_\J6"ū^'Sx3/ՕD>wUlDR2ui˪Yxlɚ^T"l:q[KpaS\V@TkVp=tm! UhK:[ /:5*CnqouIT rmI_8/# ԺQL9OSq'rTd >'FqMʮ @|a-YiUKTqQl޶j%!{И`pBف,<>wr}]dY!N1Z2W LH5/ʈc^f8r*#"f2[;LY`C)k%&xQH"$SI؛F{]04φvE6/.ږvߞLmWk-JE>NQ#ٗw٭hM+ɃG7Tmn-b V3e?-.% w-uWRv'w9en냌ׅ'dc]ِG[HDZ;Ϸ{^axG&][]^f+$R/׌~}!t?5gc>XT?Ұa|<į0e"<W8,CxԩOn?<0a: ZY- 1k? > C@@ڿ=|@: ;74@;@0A4bX#43Tܼ8QB1P;$l%:(,)›‰;0ԛ+,;7/d 0D5k.$ &}ý6l7l;>B1¥Ӿ3×8$"3,3pGHtD><9b*/$GTcD;<ȉȈâÒȎȆȑHlHT!CȒ5T/6IɊdۣ/zɜL48Z$CƀѢ'<,Kd)?lETl!HcFJDl PaZ8PěEJJT8W?A-TFSl$ =OM?KS&#$AtҠBZ[Z-?TA7-шbUJ K VP%Cc֞|SEUPWֈPmnmEVSULVtVi=׷Pw WvwUWv]P t׉7׆oW۽VdK\qs֌ru3ExّVQEXXnKѤqS`Ӓ$FRI׎*QjCFT.U<2VfVXUʄFRR@5W@3;NYXGKe֡Evk5ۼ۽PTBDR`U[r V܃ueXuW\µ\m\mqAUݽ]E٥ EYP]}\Wm[57 X5޾u9~#h5գT%>L*s˿<۔vtٱD ߄̕*6pu_% <;_ bYR^K.ɔۺƱs%b`AΔ N2*Ic5Gmp -D~Jc M = mTeF_%U⊥WMPnWQfމ@]\VdUNYF׻]\T^~ )UoSJ_GpUrghgۮSNܚnK\YνLT~Jovg+3cU LMt'wfľ ū}\M+sbvV~fxN[(kkl ^-l*^{޴q&}^6[T3̾Dm3@<=ggk=ƅ *ц{HLm[%F 5ڞ~D/uU( m%m3G(N Ul؊n͵3ӶtS{l6𜸂x78J nXIf|ƍSvxPxo0Ȉ:P=HZyư_1*Pհw6^twX^8؆! 4>S_z/^@xЃxpPyE !A_4&avKQ{9w?p0>ZJߛKMba }_??{Htx}KNu42foYh}OC@(~HpPf^oc^oyT.^|`FpXoHw9,(܁ 2laC&R oQك#Ȑ"G,i$ʔ $С1S:wΖB_ERE2mJ,2Y*ԬZru*ujtՅ),ڴj~-Hu!֑q]hv-޼zKuUC/*{w/z|87c ak9ᤳ7sx[F±aBΆ-[ڝw,'t0;Եx]טv[s>+;lx2$RCpWg^}O8[}ׯ:Zwp qwaH`w z Y[m淞s U}n! {Ŵ"@Ҁ"Myce!fx)N!{8b{$6_{HdHPy217M! ȣ\I浤JSN$T@y`ecsIai&^hV%Nh) Lra;fJ$i~oT|R)4u9*%tiHSePV&r6+IںH:{kT<{mb-YEU!HfݚٷMեj纻"`fXULMVYe/\q0 +|…*i+w5W{k|'l꼇wjyDƣzr!wwFy,(wߑ,J >yh}lnj1Xa83A}5Y+|t"F%(Vi!–ɳN~ɶnYpg7$_R2q9k~9 =4Rhb,_>gƕ9o Ħjjs; l>4~HՏ<3{?4n滯>-H&Ǐ<;j C}o_k# Hvޙ12A 6CA`G>G3-qa}g,: (F4`x6Hj}ړ,A=rc0=!yB$-A<mIHSF>9k@<"UG $$,ag^6=Ύv2#=a#g62<''8,w$,3. Z:a}U(]. o\G{c,8.Y4j 6d<֢t8 !@~+֥5ߒ<B-aWS1Zn$JZsN2 .R8x|Oudݼ8E$!Yx2y|nZ9 Z!˸B;yƳiǾVfȥZ/]XX !YkC>g+LS:ƙ1C` >صN [4CλuY;>5}9öm&mX%޶6-Pvս{/TB pG;Ύu|HG:o$8@".G<&X>88rwi$8RTP ZTC֑rCPcotH6:6D`-zs+G&'6W+^D8L]fG @`C.Awfj%}-r?4fUB:ރ/׶\/OZ/0A)G.yV?hYz+$/DρL؈>ߨ-K/C|'=?)~ۇTG?חAo GH<`Xס=`[Cʭ˽\I? A\%_^SZؖiUW N]Bս9 qZMU{ӕ]$]ڭֹ`dYFچY8-%%`dE;za!}6E顣mHf %J%bhaV!b b!9}!! n%Z&f+]'R" b)D) @*Z,)WZ%_/_![1c`׌!: >̴9Q_] #bxU9#%Q$ ~fԣ?8D$#!d1d81\; \\A$oH$J Nr$gx:BdbI`ʱ#KKMa7I!MDNaAQe1 %Je*q+^TB¡!*!,WQ. 5$ b!NP(6D/ҥ $f,M.&D/!c .^_BLc_VdBD?&ii cC#]gZ&m.cc?"M&T&pژAopC'b'm.r*s.Ude$>gXDi~Hd]vnvfJdx>xdd$zgS'j#OO ]Z}#}6}(Z.6ZM.a%%VV:%ue4@#F騡 G|#rzVVb_b`>&aU(焎%/z/cc#Bcd`f5j&6:RZBd kf6FiQ0)&&Dp_)sV) ~u^id*O jRwzHBNH*~ybHhj{jLvূ*Hg$\O!*_%y#9ni^a(6(R yRkdhaͨpBe-B!.W׍뭸((`J]H%k'ު&Rh襢`H%'!PB,&`Y S+Fc^f^cl Nb+(hbji;)ߜQrZ,iEN-*ӆvEԆĢb$9)r'ywnIT-HtͧخjNB*|r`MmIl&*` *ʣ^,R>*:!&^h nUڭ^"+7"ard:n_kYYkqlm +ͥkb"->,Kj*)`*,ӆ.,D.*2f&_, MjeZ5_` 펬lȎݪf٬kv)~ʩ?-IG(Ҫo.ίVԯBS/2<0pr/I#H,07/OGT_0 ?0wpC|0/ 3 oE !;PK)= =PK'AOEBPS/img/topology_03.gifGIF89a???π@@@Ҳ999iii444rrryyyvvv;;;<<<333///OOO```ooo___ 000ppp ,,,PPPXXX'''JJJ\\\ggg¹)))AAA---˺ɷ***ZZZ666KKKþkkk555mmm^^^RRRlllSSSnnn777YYYTTTjjj...uuuqqq+++[[[~~~NNNUUUhhh:::|||(((}}}888222]]]111bbbMMMaaaVVVtttzzz wwwxxxddd{{{fffsssFFFEEEcccWWWDDDeeeGGGLLL>>>&&&CCCQQQBBB ===HHH!, H*\ȰÇŋ3jȱǏ CIɓ(Sʗ0cʜI͛8sܹ%@ JѣH6ӧPJJ%ӪXjʵW.KٳM/E˶mʝK]W˷_y L዁+k9sS |R9 X`$8y\@ M&PX٭,̱6j=@(ʲ>Grcu爴@6@+g] 7)lsՄ=rZC˙ G=i{ #&ȹ"6y G-&ˇ6苄3)ֵZ|ou͒Έ;ŝFq* v>)}U:U@ʺ)9VU!.Yx N虋kvsU" pMms4!Bu+"~nem( &z\qQC[|#p%@xO;8j5 #y%BN\V5G g (l;`oq>>vs?s^I u2| 8s>|W;Pm#?l2_׽%MqjmBduͱݶHÒkvyDkAF_S&icBv8Awev(XSY:XZ!nmatbAoЅ`XFknpijw8Q\܅Y[hyFGdaj6!WwwjJpj1b Ibgz vx&Wq%]Np`&#hG[AքVlfZ|lFf8XXjl։-Veq6Xwgeh7wwcu|H6kc%jJhPfTĸf1xИ|IdgwyC]ȇaP0]1vGUE~)usgvj% 9j8\H?h~%od6gQ`ynweem\&= vML@rfqIkVhHpDK}MI&yIw kGk{Dэ Y DEjxcoyKGfh|j$QU^3QdW6 ) AC yyΙcə791Q/q^sIr;e w'&1QI a\6+A)Oepz`Vx0dg&egqjeg*s:ٞvq oFkvhnYY9iQjDfkkhWgGtFf 6nBZ*AfGwuZfsZnöfm`1 i|9&\Kh(gwoƒב=$XIzUz>f0U&m3ꌎ9Xr 6bYj֝!uJzZ|dm:cefiuf߶f_'p%uoIljVZp@~IʡIvq穭Gtpr9@fp}Wjkn+{)GvwG&g.qnud{(GJˊƗ`k}Hww';sK eD GBvgpxWXL`dʔ)!nnwhwF'AdavdVqfl醵dh@Jgw^$G@tWVdChC[C9s5֡(gpWg~ W=:^[qvd'pDո9E!m8I$HS،O+XI['z9XƵIKJpSꑴ6dR8IѹwQQylLk9E~%HGVӛvjr(FnYڽKmѤ%zt'ؒR;THk)[{ƿ3zqzt*džQyqFٶk JɻGPdd6~E&g $&tѻ^G{ww j)vTj)pyȺiA pЦ a7f; "lwprɖ8q ݓmehb#}ӗVҥ\6ܸ&GLeLZQ!QS '-[<,msUP.2}4P ,TkՁ<' Ǭ\1fQ^qPr}=f̤Zvx]z|~M 8Q\ZdqShڢ]VGBx+\}1ڰ=Tk,[}۸jmPA=]MܤWp-|ĺN#^Jl}s Q0<0Q۝DBm@ܺ=ܼ='^"=3%a$}" `'-"üM"p">$^&L/"1'ߺZ0l72>; ^24!*R9y#!dNX7!q !\&.aAmټ^2l469^D6U26vPnN6SW~$ ba#s7#R3mPt%$N {m TzbGW+I3R U$!Y>ٟNlD0d^٫G^s4Q852 P߁NN=y5ME]~`n.ZqWz4q5YH]VIQԾ 0$K_8?_3 CYa^?$_&iꍞy!'?4_$ ?90oP(_&vB_DF?g/GL UFWOQTo\/}<1r$M=tOdFr/0yn.-q~%PpgM4ꅏϏ> 44O)d]P.K,. б7$F!YO2՛0O4KrZ-RQR\0XE!֟ڿOS aOn$Q.dE>4vCK\n$9qDK4='Rk") B Z‰Z@ޚ(s*X s (zB" O%,D14L49`El%.zت1.Ĉ!"ҜkZ.F0?HGLsӍ%2?u~04 DDu$)+dRԅӡ A؁WAv6g(hJ 50wcu]0 m׃1CP8cD ,YPnhE8Zp8p(p̪cW,؋c!i'E롄|w @L|ڌ5LfRd'=I!#u Ndd+uh:n XvcN `WSvԠ"9;fN]d%Q(*":܂7S8J=3#h9Ѕձr$&egXUKq~)f{a gA78 N `X+ug;aWEs{? "-y}z!AP"PfTC2 ?&0WZQ%`YGtQH;2RQCJ{voP P74PզE_Q"3] QIdT ;NBIxVn [V4 pi\rկ>\M^jUQmxd+-j^b@gN5x`G xA(%bŢ_imKoQOc)S*0- ;mYwwdmC_ۡ|jUnu_ݦ$-dJ,`Ӻ8ŠN:)y3K~)+.zݿ-L`)nվi1w:کwu}o{ X p@}pYhY wMne3t mp\&,|M 5i `pZ؝rX<LlW[o1Ш=3|! OsVU<ԙtaW~)nw(/z8^k;Ԩo!8KkůnjxއWғzߛ6GsMqo3>ғΈ`ɾEB,o{x3?˒ x ϋ)8\>;3z 'ȿ4 9`@  S;8:;@)Ⱦ43#h@JA(ʻT8H;T)/0qǃ0B[.2(r.s2A?-Y+#84e'>*B l)'1 k9E2׹l G3'B@ӟF2*.y*,d%B9A#00 󈤻I9 E3!A,y5‰YTBB*/b@cVbĪ[>5D~8 /ĝ*5-R,˂)k*C s({Tb6 ؜+̫a6_ Cٙ935顰D lrIl˟,$8AHM4rH򛵢D M M4 rZ9-|B}7R$rV´'<@EȝZ D9UR=T !EPal'O˔CBHK1 HA| /pWV @TE 6/C#:=¦A;B:  JYK{t-/RU50,, sUδY+[ E!mB*[_|:n\ "F,U:=V]\ UU֭ҭ,@ʄSې=-UuA߅]8M؍ԝ+s0ݤݏ@ -Ett^mmj޸? _FMKE^}4τ5_Q#^0[ȸ=M߄1_0B5,`,&^3BE^0U:H0Hae s8%a θ~Na5]%aZT4( sHX>`ԋf0H(b}`sh⌺,i"N#v$>.n3Ab*ֈ':c;c<  ͈ʻ`X06b`XHs5^''T pccP#2dO> @N%䂚]@d"F1~7t qmhQiKLu1PQ @EV!VWXNP4z^*ވfu!8f=s0ie*6]Dinkf&X]4任,oe8fa6q0_\sPY@wv% hveGƈ~e h*`q&t1n~^d@3h8\`z{ff mHs0_6`isqivֈJֈh@iC[8iDcz -|ƈ0jÜݤE8iaN 8؈kv i~hXj>j`63sxfNij@>}kK s b }ƈ$lSV(lh`s@<~"Nl^=(mkΈֈN@&8(0$FljVlQn@}[f~n(ylnvゾkƈ pas%`Nvo Ko&s"(seS >p,.pnORs!hngj06\ n)kOq}6(8"&O$8SqgVr83nho@"n$ /~,5(sGa#%r7oA02p^Fkv}mvaku0cFt"W#wtUr wIlJUr+E޲F&t-/pgwᮔd~4sCP)VW 6 rxh"uylF6&PgހN&~6vfdGfvgh4Q`jt8lnwgQl+ TsY`Ww3aw_in8?SV}#hcs]YNtauN No7oFlxv/Q,'?Bwyg3w0$ha?O 0"oGsix3wbiw3@`^{no7m</?40x{Lp{ $z`#q8#Pk&Xxψ'gD~u}dO}oFto(X0N4a9!s&Fh.AD7:رHQ>P$ʔ*Wl%̘2gaʛz'P=lJ l: A "-4br+ذb0Aܸ\ T6"9z٠+c/`ԘRP*\D_/fܨG"(b20ТSĩR'Ѫ-jҤK8U*UF`7b˞M+ͯ" wwv$1%ڷ4Ŝ-7]?Ortv'95Ky~Ԛl)vTVI8oġr|9DWf M`}_( )df##}1vq:jEQ>y'LVeDZvy*_ddgfh(6b^Z)aV@Φx.HVa{bNP+-]хiJY X]nxR~$ KeyβETʼn LWG9B˧J(ʪdG-Jڊp`j$p9lTk>=om*WÀH%tKc`*/+,QQop*ՙsPHI&Rce$b525߼(8;8K>yt4pb!J $}6R X4TU_]p{{Y|4贖 0DHӶjp#7'}MVG뮿>7BU>P>>ODXa>!|;Jg6VdGv]J5sKw"71Bw^)( >!>/_cop4$ˠ2O|$:pLDS`*,5~ 8 c8I-ewB=zXP83f9{a"Te &>P" cHiI( dq `01a{" 8gJY;9R< ؄e,eEAz]8["KUΊ0Ҝ4˅nhR8*R%h}M',31p@& jcHU w@K S"JB]B2٪*̫b5P1;Ѱd2)J_Q>Hi})L0r6T!8 qb>:ڵ4uXY8w/ygVqq C7H ; chlc͘^\4ϨJ]%Z󵰍l]a4$فBLiLl57f9ʚflNٵӈx h2DV$g'HQv j{TY* G}A'7) ˉ{*v`$"ϰyEQLz0ؖB6ekZ%R ~Ǹld*  vUVy.تmk g¶r#XC!{]?J6$~X 0/ëiQx- _б|o^8)_GxvFrV4"o75Ir VN$ Cq 汔D,UR501]`2Ѕ1v{+0{]փw7UA=uu lkV8&vaCc^%vֱn﬛l뾝0ʺ\`q$`$ D:p`F(:IPCw9qQ-0fهi{]Ppn[F!y W2`WDbA6[64-K5;8tuti~ضmp08iJfpÓjR% # xw{\e7)2b' L0D{" GH$I 9 }}(KbKRȘbugi6Tk}씯|oaθ |^ TX9"|-^qMِ/EԊMM=a_C_ 7DIAoD%%8C4`> y ڠQV8~TF8D$AҙtE@ )494]M]PEA@Iȟ   <" T X%T` hZA%̂3 ":^X!q`Est/^\A1 #B" l 4B%^ A^YP\XNA(2A49"*>`q*šE+Jตh_ 9t@YGe$A!D%} !M #nJn @@'%]76n#5$NAM@t#*B,@dRf9":F=a+[[ցf" bD^."\#I11cJJ@L6LS7v $$_Rt^xc%APVPL,fR&9)*!b;N #W >? _ @!!90A@Fv@n@Ea6RT"X I[dJ, l&)d';mN\AP'pBh@ TzVbcBfSTqb%DdVz`]"PTX"vY".r`IZsJuVunBvf(wn(1x&:J:6ae|AY}8fhfh\)){8I9X$@Z_!iiEW G"H&gYYes%ڀڀ i )āADhgh"R|ʨ,'C'DpEWӀX&⥙.hs:gJ%tFꚪiΪ )iMP@D*'&'e>eK9܍b( i&0AŜk:Νo&Eҙ9XNPip>DFhi!r #Ii鬾@ \l &gcBkS2'q٧Q:>[}ݨ"(Š)* DhB,֪@R,68~,.+Ȳhd*;:cY9`[ Ǿ$F Fk,II*ÖÚ@F.nz,*zl{@.*؊+N%&TTYJVf"])^/ꁂjZ6Ϫn&"n^FM6*n-Ƨ|VFVjk=~Sfa>~˹kvvjQeH~H2ZB-Nl&.ZNdV.V`FqW0-6ZW,/VHΚ.n&Zlf,Ԛ.$lcJ.:;->ngNo>V/ےSWC|/}Z,l,iZr/2-n,ZV>/SJ+[A`aCty*QZΞ%n-*vn. Kp2+"*זqp0f:/CogJpXaCH0_Wi]inNxΖ2ziΦo#V0bW.j*n֒qNF!ΒĄ.͖n.Φqloo s02Gg0./+^YXo!Y4Aa\D0E9fT7`wʭz^²E{2m.{4Qt!/6I;tt|.'W%hn6Xt6~6N(Oni4G?hjrQ9+6llS#cm /o[3TN!7 r r#ED & 9kΝB88E^g$D_D f4niv}'}p00;1ɚ1epZ[-Po\Q(ae-wO7R87.v:0"3~m?1O<ðd6V糵J!?o'rrt)+:VuwBi%:+_yy{o+oEw5_ow1CvK6K'3 8Lg`p羬C 8*x}j6C0yvP6Q{RsS4pzUW&7/ޚFW'wt:AcZA\@hY[)0/969쭷7c`_yag9}!gl~4noSe9U&T O˹Zsqjm-6/sTdz{ O%wew !r XX7@&9txqo$Tm:-:wzQHy|<=GyX5۬6;8i/_pk +=:';6{%3 -׳8xIX=3ُEkD{DDA)+[@l?wT@:GJ9u6}#57~#;Uɶt<(g+9K@ 4l" )bhFƌ78v#"]4Y%J+Ws2G̘$hp :)hPC0jTFR12i SS;a [j cǖ0kBZز. r?ԭo{^WE`^qŋ4nL2)/lA8w3si!B&kٳi׶MƹxpJ8k?0È *^#ȑ&]85Iܰg")TuD~eϪ 냼B + s,2r*L !Ђ6 k3n:n$+ɻX!ā5ߜ׎f(MJ9|w'+.Fmn-S%wꭿߞ#qŦ^<9l'7KCЯ8# T@>`ىuyb % xqK&"RԦ&` B9yCAIMW,}e"^Y(n+"9C.i/5sZ8"J7i >p6+Ҽ z7T"H,rA"Քmf}ڐH)(I /IacKVz- ሚ8q6HH.OK_0YLcz]qmo#]#H2o49Jo~s @}&9 ks6NR %8Yzq7!J{h [n9QBP>mh32=Bs#\8H2OΣN" PS<9LS\m]n'))OU+P#$Pťm$T>%3MGi0!FDS*rϥT&BXŞ2 j]jԂ`V Uͪǻja!uB^ݦPZ ,$3! F-+mS˞6w ?ɸW*`#~Ej)Ŭ2t;3wH*i4j+ڢ]i%/V'᳡ dGeSڹ3;-#Ar@TUOnȁV+vaM݆&`~\jyf4{<~3DdsCӭ9r:_ j7ji:8 A#k[b+VX/Y_6>+PKZ/Ov _rXWfxZ'fL*` 3[)ezlFRTlJ&wy<*y80"< gncĐ2u8JQ?T09p g/suE1%U[*?ދSǖ (pfrL;ӑ.μirT8A#a ^Zߟd)r,_V[?V_19"ؾ m} wp++7 NI]0;h3Ы)FI\&X 1NZ fAf7h&^8t8W-ezw\6'w9 S _#dR#E\?4̎4[=tS@ CP# LܿXAM`|!f[^7׼n( Җx1p!8yO{<*EKjX44pP[ÿW VdulNzЋh(9t[w^$}:ZY?rd#cR|7~p"Ǯ2b/"#"oΔj:/Bx>pǒ.0H ϒ|O!Іel<*kNA ̒-ήt,ojzMkNh+`ĬǨPD ro*2Ҵ/᐀.@X_?F$lvP{7k -p0.ź -J*ҼpO U*Щq ~/2Ύz^+T2譶X- } DJвo|42QN #. 2D1PjAsOW.ш bz̠ lt.lM7 " 2-⦑ qŮlii.­ `б*_2Ā~ `DI1B@ "0C k .п` 2.Oq܈#c#?rBRd1iDoM1FO¿N/.̀'Ol)PQͨz.!."v,N"my-W-#ú,۲3;-q+QڊڒMʺ3#s#o?&sZ!R23PR rٍ8v(&42Bn 3~6oeƮ yؓ0<;zRˇ/Ӿ~|Db\ ~瘊HIITN@+ Ak3ktЕ.N6;@$g)Ѩ[ +dF REۮڲS.+{8ɣ ` U6 b @ *b wjx[o[ x|}P[}h~x}{7j?[@}}+ H;qz ́aQ\Qlr[{|Yzy%*ɟʣəɓ+ 7Zy%@}Hﻐ ŧ` { UbYm \ 6puy!W<\_| ~\Ѻ-QP6r +@ K iW <\a W\][ [W{z;={5+E5=}7Q%̡ j(.4\F%` ~\i J84<@w o\6ǝ٧W]>>iPHi bN>KfbI֝ś > *@gIkp`=ڣ:+ ٯ3$CdKO>Tw1G6^i^l~`Cp^1ۛ8 ay>uv~[ } pfρ 6EMzU^1O޾36@ 6 f>Dn ͫ_|@UZ u7ra?BR!z5c܅#% "=~€ # RH)ȀDA `PaaF0g@ǎ@2ʕ,?4h91As1DԁP 6"{ 5ԩTZ5֭\ NdD}v x;\C7|YKh] >8qa"}lSv4G܀sG2V\$`# ͝8UƎ/%a P;/xLW|dϟA=tiS˛/5زgӮmnܹuқjU=VdQeGD$_`@f$`k`b6Wnoq$L1k%gGUcXF:Su u<9@!0QF!5RL9bVXeZŖ[pVoy~ FٕnՀfT `Gt`GppgC\&Bo$Dh$J1)ȵҩ5$Mvkv'wPJ9^UޗY6șh9k>ۨIV'T̞ > Rh`ႊ(UxF9BĦ TR#}QĜ\p9qD$ܸ#OscG@J*yJdQG& |ƆG^6(m"& `Mx[$!7Gnk8aХ=V<1`Q/I5=J1RmX@!KK<m5٩ krǤwO7Ӓc uZ-I߱(#8;y,<_9>F+nNSbP9KLQ8E1EԼK'_^dο3$9 -AtDAAt1I.٤jr%e{XFȥ>K.Af`VP4`$l\B&$a[z/x3': …) NTxrL XxtG+m gS}#/1\tMcsW2t1<]׼굪BPI\9(GE*eE'V@$2؎V4l ء@R UI@%q5ch.HH(~E_u`C$:Qj8){msװr'"2K$'u-y;վvb`w}k߈l [ 7\P=!E"DP)tt N5)E"{8j0r9u#x @2,n1^Ú@$VEwUP a ({u^;!tʈ-bEQ@D@G RT$.Bk*j$\X5˃`XdAZ?G$#O3uMInְH`,uϚآ?F _~VPp*t},91T>@Xzִyweҿ5g.QQ,!N9vjUH)EtC3oDrSǤB8;7OwvnAD*o\ˀuYSm[6NowJ[U9 PcV77s :Ko2N]~xJaufTW0XD B%Tz-<$SP0m"@Twy~>~ 0 }'sy+wFi \[y&xVi}%sC~%~vUɷ[!||0<|B@^~Gw{G[|>\BWw$X :~F@jo+ [u{)#a=ɣq5NSW$ phhU|']ɧuHG7iXw88F`(`>300aw> ؇v.exׅx:愨A+sfdV~(X(0(˧z <|:/jXy|xhox28u~aÕu9f${+48a$0!' x*UBF| U[|gΨ-XUW˧gFi~@hx(gnO}춍S׍nSshU̇Bw[yg*VC~pQ\gWVQ|[+8 jP6 &~@y)!liMag|cM$?Vėb˅U-؅|S%>| wٚ(@. >brscٕdSUwh|~(}av:v9^i~Ru21v8zCǘ gYD &m'UX6Yy5yb`h[pB)F|Ay~HzɅFH-w׈iM]9d'UՂ>wʅ G(wwi̧[h i9ђksyq2#kʦmoʦS@u .d&U~-zgw˗ ؂׏CSi}HHxָ}\3B&j:uhRhyQѧO~6(CUHbexjZBj] '(cjej]7eךNIPǒXUp(+V'6^8ph~PG|j(U[P9xjYwxD1T@jڪwwR`sy6xCؠ*u(*؏pwQw(U2|Ehʬn⬐It:u7[`ʧVUکiI{}7J6@U(jT0Wg68s8EeEfkkC% tح>R+jɩ1J,ѹ^ dQVEx1 ZK^=I*!G Joy8XɄI;3[dd{YWٸ^:pRKh#;9"=9"ѪiA>mO xB} 벯xN;}V1Q;[NC够Ћi$< ny{00 #gǾP!,IEֻK(dKzfNſjEn@r+r̷j;"XV[lE]ká+wTuo_L̑ L<_I*A<`Ũ+Lo q!ˇ.ˉ0!ëI(|PVC(!2Y31vFe̊Vu#"=#Ρ쩣̌@ω,,n\BQD!UV2;|N )j%lFXl&ݽR-R`/~.p &`S%DkʌӥjxG>b@-XMHMPmL-VEZ- ҼdMbbL:S-q*ׯz˩}]mM+wl~ 22:=P]mEDЛ:Q խB\,aad\$-=Xsmېۨȹ|MY )1O['{[NJ= ]!2RْI<=\53˟Y5ڹ=|،;HP_&TBeL431NQ@<>aQaq뜺=E=oȝʝོԉq`٭.Pa"mqf-6D.I@J8(:{eE.GkLM 7@WS]-eXnE].yN} g~".7<2%]'}]DS@4Q' ˂q^Ď~nD>\;Y˦>-W,_c>>w볎VW뒙몽JCJpqrn|RO ΢؎߼M&۾>|dn-  jn;LT^(>^'R J/!nݷ.KlsV1\31~8O?awyE>OfE?H ;;'מt Hn^km/oO7Op#,ל]G?"́~? 1!Ǿ_yΤ,6;_jP!/r̭ Ogqq0Dx9s`h.D-^B|t@d %1`(bN9-YC1NL6NJ$0- ΄̠yϦC8q3Q*%<(@ .`wH;nhUpR?Ydʕ-_,lIr`,%|FZj֟ŖtkڵU,]@AFxWG\rHZ\aD.\>Qca C,9dʕa>y3aI"6ـ(sK>x=C*+y:+z+.뮼/`0 ;,¬DOD143s<,bo1Gw~LF$Gr. I.J)lcȡ b:i$LBIs,=8 )cÄ <u?Z@L0BeD%pr#=R|cL^F#D~F:S_U& d\ˆR";r1YKc㉧^:Ϊ,km}9 iREhLhrr+Tgr,O(x^8;Oj{uvBdcuBOp?6Ё`fDC]i;Z *m\;D=v%]׃G{7ġ0A|˜gH8And0+mnW("@0cKLXw\ 0@ 0PAq@&–!OQZޚ79JZbxpT0Z% ?4@H [|JHWEu.ZLe:%bDld }x7/?cg?eq2pR\̓=u_dd89H{ @g:չNvӝg<9Ozs9.Y>d`U| 'L l"(IkHBVVjz630YK ;"44 s,t5 OER AIF&yQP#5MNFpo+p63GfAkX:V0Mg?5 (́$(σ90+]ѕè, HK-eF# C, P$ 1i:4":"֡ⱨ{bEV's(!{u昧[|?~%\l .ǡŞ=Q|I)2c,uL1?xeٙWMlEH8uz8GOҜΑGm^G$.TxƷnuSvS3VOE %05uyyY9zi)69 mq測4m8MɫZ5gm n,S"=|ΐ3>;Z47pQx'._<xb?|Jj\ `}_B<_k"ktƆ6s1@bBiG-+`ibݍtu`X yFo{1h=Ǒ?||`^B I90B F?s&ca6 joʽ =j0>#&鱭k糀6AԂ45@T7`A404A/A/ ' "D#D$\^`&'( ) S;B" [#9T: #R*[ 4 T>B4CԠ*L?X,BKß.L;? D7! 8zRedftFu'ET5B-|)#)J<0"cN39Q?$@tTudvtGpDzd :E=B_̎z[a7IBY ilFFkSS:TRȫ,Q(h8ɣة$HF(X2$ [Be1GEsӣ2:4GGH@$Hbl*LȧtsT˧YxHCD2(0؏"8,9bԫ16bIs.IP4,EIXɪC;̺EjLBu {Kʬ2HdJ2Fȫz4U"5Pr(r˾Fzp=%_<_LE2u_6Uޱ_#/R"BXRXeXX&N\]`9]ؠ38݁PY ];f + VM7csa~cV:c]:&=]]. fJ [н"{W44G3bb= ɓ\T_U\E>9F'%8Y5d:tffds+dhi _NvOѡ([q1`Ol4|SbpbYQ50r=NVR\pLe*9J"f0^v]f+(2@grP0c6%P(0 iir1qd:iaJ.geVC]ͧ 6Dgz#5M ">!m.偆T6hU~E,Ne}X`!h@4ЎՌ5F ge#PU`]+xGgePS3 ɮlDlfurfenxDj"jjH>*(В (p'8'p}n,(.pΈ͙,Q$MkVvp=S|فk[vP\ź ݰk&Nk#Yxpon^^X΃~mKd׫.)m"%86 g( %p~X%k'(3EkڻO/0W̋.p2UPaJvuvڦ!pNw9IEbJ5)sp‚}6m,X> ps }s%?"} #VA$ńfR|l7 gm[ k/Erjj'rɄ*+d,+$,6/r3G.9?V eh(_@s&6FqEN4~ctJP4ttu](`L:X)R?WW-srt<Ŕdyz9A҅ v'v=dtHrGL+v[lH.7,Hw7)pugon0VY`n9x[G#=ء۴ID.W'[ث߾@q` ",ᨥZ wݫ0k,{.# D6^/cd}@D g2ByE;S9 ꫳ޺þP,,t7z6/sk7dH. n{ 7OrC@ww7!xAğs_x8G^P(#[ vn[[#BG"%ېh%)xTa N SՀ? @5Gc X 6W~d4`ۘr9$HBUy4Ńɚ1J!@;[ ʇ"9bvϒSn@U+$r~ŘI@'& 父=1Gv@:1<@R=_ IG_Ccs3\ɷl8<C굍PRIQFb2%* :+U%Ap6W`E._8eA<&дF^\)9J9 Y=f]cNqukcީ =1ɶp<ZQԠZ=k@JRR Lp&ZK^`8P"]mA"0 zNϳs +*+ECYU-{Wa~=- dh+q{V&+].s{eS$~e;EnK+OVrg7⊖;5mPb R_-p)V&k"v Պ##cPW2,OHQ@ С8,̦Od/^Ҫ(^hTV6 %N`;9zs -RaΈ3 gƞKqqC';Nf q!$2ȯ>((jRo5e/;L h3[iG̘|b7+d[HJtpG3vO~c/}X'vtj OwaE9J}[YҢ}knHy|/XgAJ_8>l{99n)>}S?PwS2j +z#)S! Am Q_YQ`X>SMV%i `  T b9 $NRi)?ܮFA *I @jrazaar]eu] U tE Ǡ !!`94JT\U@Ia)Ua{Q2&rb]!, I[)6b%y@ 0c11"#AKAG()*\++! #>#bE!/͆@cuX?`]'N)8ZƇJ@$fD[EZ#j YRI^[;JƤM$O$Q%R6HTZeI XeZ hfz@gzfhV &Q"peWz^舥tН[",J$"&E0^F\-J%9E ¡daadb$c&cFUR\&fVfrgv&h:樔xbj>riY*ʦZ֍mnF!~c"]pEMbiU"Ӊg%rVs;t$u.&Q^SJvRfwZffx1yg&Hz{*Sk.`}r}aѐY@9 JGoPph_z,c-{h~*SrVZIr(KzLhOZchTh fy^i׌)(:ᗆɡ\8Ze(9$ զvD{$A˔šb)*!p"FTst@TQ$gK*=av(L"NV)Sfd(ix'y" *b(|62'leѧJ8G!Rr+\%ODL\V)\bZz>hqqEQ+Te_jƮzD&Bk Z[JĬEAG9DAɫ&f+Z+"!]:Fj~B!qڄ9A~^YϥO(ު}kQ8\,IڲmۺmmڭI(x2a<Ⱥ~ɺࣺ߂+\2M,DQpF ,-2:^*XJtT$A_K~X$Dٞ1Z`6F-&঄Rʪ␊JlE9+Żkf7%o*nQDb2J$U.ґh ŒŦi&sR0K%`4@FB+ʑPSΐbvFnYnfi-v*O$CI9$JDC.QoG]cn)#'.ū pͰ@PpEl ݩ@a FOgO(q!51*R0;0Vqke$q@{11?H(G="10/hoZOC K /!Ď갨oJl##c,K2%[sYyC&k2:5& ,APn!gnȖH[)../yf@^bUCAHD*0Z<:RO*gJґCAO2GsGC/Gd%?Cplrt8/֤L @(}"A^*ׂϢ&&E.C9pcgbPO$mG+O1$_W^Cd[pT  05%3Ĵl|w'lvR:5`,Į0_V-4Gr5BPA^GV69PAIISJ/Dpij/Gp@6CV46vp@r3gH^_5l2"EMM +o>qdKXviB 3rJ3Rh3DJ7796n9p9VDAC8p8V t'IcgPD9p]8CVvw pFx7Gyy'9'9!bQs2c7\>u?/}#,JPy E!nAռ.Ǯ*t|-]lAU 94cAH8wHB<HD9@vdx]9^8h28tQ8b OԎ򦪷2%9A6KCӖK "hDTryZW3D@D ǃ ߹ʃXC<{CSg̙;g{A{:9nd{N&zxn遳a#'!X $Y,, A}^XJp|{scl-r`w~9Y9DrH w-Ru/WHAkyu;og}gEPmZ=3x{Cz4H;`x?GŪ'v/t,/֘ph|,z[#4HDyН_݈Լ, 2s/+;&?vgdxyP'B^oH=8OS;n;zz@楽gs=Qɑp4׫b\ \Frн+˳"Kf.ׯ0>UY.@3\A!Cs!h\E! fXp@6#! ̝;D0 #Jq^TԹgO?BfC"Tj ( 2VZ)c"Vr `Xk#@%'"UrhВ;A9g5,9YB94 #D4n b.WdԼsgϟA=tHVـI8ApcPZ(zp 9\&I Gs>( = &OMѧ1Qq:Q)!WA`@ 2h$*P ﵄s(x3 `hq$0 p ai:*)a)b 3b("@,*GvpH yJ80" KrtRI2+M֬)qlL.`V?4sP Pֆ;h tM,'جs6!(X碛.$QiNƑP'}5=+bN6ekYikkmņꈪ:{p:"gB a*`2:$`ſ1G@0q[9' ,s tg.@hnc$/]d瀝qp$G8(Ѓ X!y9! @XҼ(kj̲5 \oCf=߄\i c(&Pa>( !^Y$#q?5rME@9ΑP19JDHCQPQ0:lttdh<.gѓpyA<ӈH5]-ZPAsUZ_"f*qEi\-/7/u/wG!pŤ1'@ALԢ:HHlR#NJGKHj91gxT&6}y (-$HL 3!J'RT цLᒠ:iccx @`.dYL S&Ls稩kV$}ϼYCsO^:9Ns+bIbJ@hAZ~NN38Ђ Bբ7MUU$ĵ ]TԿAhE {!DVSt%(O͇Tua9]Rpʓ'ŁzUs)3m 3EŨA[6u_ۑoX>;jUK;i) p{OkS[DHhvNkmCMG60KaZ3)<R.#i3Omҟ8ЊV}N>ל=kIي V[Ʒ}n N38JWE2
P3[z e܀ HȊAeFE dsHB9SbY zL1Ӓ԰ƎR ēM> QjKCXM4Qs|s `%4PhR:PcX׸] jԥ-]USՇܲqEkmNȬuLoM\!گKѨx5-[6-u|9&ɔmfrlÔӡۭ;Ff1.ۗ%r17>͇u];  ÷G^@C1V6l^G&Oj4b%0ͩnb[-9Qmc\:79S 7ʯjvfq%@N ԇ A:7QcZ/-c$ ,܀W>i :.k; ؽ!{ީe{ﯶfO`a g 7џyE8k:ZC[` -'+`X^,XzE:!rm| SBOn4I4js"gimaE'^y{*O K/3L-/.K}p P)a$ "" F'Cn =:@vA;./GpKPl5oB0o0+big nr*ZF0 =ò ϼ  ޫ =cPwn '"B}`DŽ<aE#f@ (q o+[{. +1q1FeєB\Jx/= 9JTpQIyCG*"  N{M ıK_#U^1m&{ E-G>!!G2PՌql%F4:lA'SC *YRm i2=drqR=l! 'ur'yr|ѭ$EP..2/r///30R)-IҕX$2-2133Rx @*AH4ɏZp" 44]30ΒR-pP, r83Hp ./'? l2G"+3;SxN7!}P$<}p(A'Y=o3ҁ2.7=s?ߏ##): 2`*?A<`ApΓBB=?=Y 況*&CUtEg? .Z*=Y@$1Q2bAYG}B`$,HH,IH=<4@4D)" b "s7y!<`4MtMٴMM4NTΔ2iF3lt22ó!HN P Pu<QUJ9CJ HPb7Ǵ"uTI5`OOGTeUVs gVH(aRRR S  K `Y-}STqu[T)?rXuRSP5]VQ]56tW)WHK ` ΁`S` *H` P#Y` S5Tw]55s+Wu3p*ϵ:76em ea6fevfi"^!j^ 핖v  _Ḱ Yϡ__=@~s;vk+9=\/d'u"k6m͉eAmv8qv2t gX @ h6X 4[ ZkATPaN r%wr)r-r17s5ws9s=rc51#faR;ls:#&DLsewvivmWv ! I I|w7xwxxx7y&j2n+nQX L @ `oρpw4H@Bu`lGw~}@4F!cvbl 6`~ k)x xs +`Wp `  j@ |uzCc"I77~8Y~at!z;wuMV@9jeYbxx8x48K`K`xɸ+nW@.$X+nS+@|_B Xiw `SSlp+ f}]ͅni i(,j k@8y'rI I@LPRP\d c`c`lyR S,ǘnyCTk gES l޸+TL ֐QO@}}yo@#/Y3ݹ'>9E9IMSW9]9Zhyoٖu*Ә^3C߳H2+y󤙅Pұ#@*a8PVC/&W}Y!Yy5uBE9W_zpz yҘ18z<2{-y8:13 rfskڦٜ'q@-7ٝu9yyyYZ::^%(Z!/2zq M?:rMC#oX؞X:rs4`zbY;8*[[}y9z;AY9e۱ڗX'z٪?y鶡TzeU5c nccd9qZ';Y9;/;:{AALPY>2x_sF9.ۚ{u"|oYgxZ'+!gQ冽_3W;J:u{Zٮ[oǁw| zk9u%[ں«¯ʣ|f ĘG-m5}9v3wx"|۷{Z͇!C}x}I3Y;\ܭa<+= q\#[:-[)]B{I;+ A݊' / :uɾ>վTD!>Uq7Q}?_/w r!?v7!%l-!5?-<9 DE LT)\Ad%lm?t3|9MA ́Hma ;c ffy_cY=kޅz֍\|ȁ$\9-\< TH8pA*T!HbE1@,sJ@RÌs(S\ɲ˗0cʜI͛8UO@4`Q H1X SPiꢪXk:`I%h-'pmȵ!n1f蝑o qY<"EVX\ 3C| J8baC(Zq-s*$&YN&5@!§@5J|BRL:]~#*ԩЭZ͊uu^j+֬Yתur몗^~a3?%q%sMuم5wEys{f~%Rfف z faDYḱVM3g\62 ]Uieu?zwx/yogztޑH|g}_ _B6SY-,VZj>v9YI,k&>\s"ԍQ\w@%dyqi^^$aLjߓEBTrfehfY떸!}l$0ma= -tNksRU hn˭&*)zUn.y:*.ꂰZizPqƘ0#PGf2`(6xHaM0ea\׽Is\DgC|k Ȍ}rQ~7a^ޅm$X^F HH,)p\ÚByZc 7:~lm!{rBp~vvPBX3sKi%fqqp"'%́X=M[fbY:(9m#h.˜*wZjx7QK k}h^.|P%{׬xAliq;d>ehטvmfbct8 KC+(! as09BVnجHa,t#4BLGR%{_:)MmS,ca鮼鎍4| CX< EJWKńϊ=䓦>1oCU0Ye+G[/ 90RH9d&S4%QF'6U(Pu~ߴh*m檜nVsSCC`%ea,:Rg9d*Ae≑6}Hjԧ'W;5J_9JIS 'B"ZE2Y|"AJvs&M躔5(^4+ZNCc@`tz{,,-MǚY윕 Y[ڔ6uieq;LkI$AI_go91 ȾfZwJPZS}>)\F4ӽ[EsL}e>*KZ;4HN))VmfAEi6M ]N-9q -/jJ4ܭgV[$.UIF]2${k'=\.0+uaךٸw8`EA ^ l@ɠg!"4^>ŀz1X/'jFҒRGE- qZ" )IQ\0zg Nt0rQTٚx D)셸#0vWH6`[BvZ,E@ÖYSgRF]c)v LۤŪ c%?gx飹 nKţ1OnUj~Clz{>(zK`O6_epڂpӤp%vMgdvfZdv`WhVw'}Rw4AіrdjA{A%2\c{,y~VJh3F?yEG p(Q!>UE7e (b Fm\[{|5qnT|GTpXiEzM` -xWAE1΄g'b}~'h7Wh7s^~k~>n@nF?PtMg3L8G-r`Lf{U{W{ {.kW`T|kxRw"(5 0@P0ط!Vg7s\+yg~<~XcAGtB@^F8DEV|FUl0p\]w{:v(k&D|WbVqqh(kȆpU `I@ 20pa%m*Wxf\%sbw-v~hֈuDPuYpWe_8a(N(i hf)pL@ @@yOLJ+בg00H2hsnhv.]“iS5d9yzPuXwpTH_(> S 3%IS9|c E [ ,sg:0I (}e}.ׂ\E{68nۘH՗76݀ tH wi&yF@pjIjȔ{d7ƗY|pipG X:<` ci 1piV7bțx4_u=wy?׃~nCu 9UQ@hw Ք]șQ胼fyK8)=0P e 3vև/f凈٠|:#iO I [긎/У *al?NPhՀ\8vhkitvǹier^0¦15 C ΠؖM"ٛ5Wui~hǗ~9CP@ʡaj)whɢ״exk w8Y/SDQ )@iٌKʩ)8vsؒw@ ti@ʐ&oz(*et ɏɬ٧ek4 6ؚ6P& t yI}jJ hܸ;yzc0@e21Vڦ1 P_Wx+e|~e4p&&ӓ,Ea@t( +l9sq 'ZDK{PrP9({W+ u:]u {0:J`8 tX Z 9 d9з`C*0 ɂ<˸KyWzHۗn0 t @4[R fPo#`[ۢm=[`*:* =X90*!mBo몸ڢ:,Ye l$1/@;o  jjz/1 9\LaWS{DEu4-+m`6F+x)ܳ˽\ z)Y:8c?i `o`W3h:Ĕ9PP PK9h۬^RYa@ sHŀ sx90"# ;jB%‘;{X~a0 É\ L <)aP| ,5VSxiŦ,cKP Z ˲& "4`|+!;,€ a Rj ;ga P lu0/Q+"`0 }G! CjAp fkk< LP A BK(R"P<@H hAC ः-߻bvoճP u*`<3]\8 ?p|A; [Pa0/JB`3e G};=z q kPҀmP F/ˬ-30ί 40mt  `J0-BTm İ د`p*`5,5`%p]|p =_ާ " =n0ܚߘ 2>tX @ aڪݐa؎<"0e ؉ 3yp\4̞p ZWPt iQ X$fJW3M3vPRV~ XN] i;2?1DnLH -0!r 窾^  ` =t斑 >1^6  Q̾C. ؎Ni뺎N醍N8=`^9*b3N,3`9`3 6~ sn0M.XV.2P-=_7$`)_ /.?/T}Q"_*Z& $0J6:@TX&m1%aGI/~!RV43{SW) /@S+NБ)Ew5Q;PK04`VPK'AOEBPS/img/impact.gif OGIF89a333f3fffffffffffff̜Ͳ̙3̙_!,@/H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKҦ}n ݻx nPpV\A0a~ &@9ȓ)_@&\@ B00肯/M۸pp`oW  ǎ1.P _#/@РԦ/ XϞ}ȟO Ͽ(&ځ)5 6ᅰ 28a>HahΉ(,0(4h8<@)DiH&L6PF)TViXf\v`)di7aYbhmMwyy(uqwTp&ڔ BAmv]>~wWyZk i(X! \pYivE^e]Uviv!2X#r2* l_F ^k+k覫+k,l' 7G,Wlgw1,$1@l.j:fףmGcazenܲ\1͐ )BV&PFS\M5g>?I^)y;TQ@*uFWC'ͪ@:Zi~ jz%JfdvSRm'u8t[ۊa,yjz tl*źߊOÞ,^~;''7XV9qoS_>^b9?keJm?~= e_}/o HL:'H Z̠7z GH(L W0 gH8̡w@ H"HL&:SZT)jPJɶEM17SctLK@k шE}f;cyUI+aƈ1Y[h2 (;V!FQ .+VG6:RIEq0}e@')lH/)M})mY(51o|Qly[.!k_4 ?n51dbd3%mvsLs'O4Hp?Z(-4,ĒpZ(y'O֜./2qG@*:s3C,E3эrgTs_ΓS*8 :%̘̙ΓMZ*wEj# 9ETUp\zԲxOd `?>h} a% sT2ףldUXĒZ2;mޜ-N|ݓ,ۯtVђjjCZZעVZEVюVem gmv B,f6ִ,EKZnk H/ɤ,;|Kͯ~LN;'L [;PK} PK'AOEBPS/img_text/proj_nav2.htm7 Description of the illustration proj_nav2.gif

The figure shows projects displayed as a tree hierarchy in the Projects Navigator, with the Business Intelligence (BI) project partially expanded with these object nodes: template mappings, databases, files, applications, application servers, data profiles, data rules, pluggable mappings, process flows, schedules, BI, user-defined modules, Code Templates, Experts, Transportable Modules, configurations, collections.

PK ?<7PK'AOEBPS/img_text/topology_03.htm\ Description of the illustration topology_03.gif

This diagram shows the Oracle Warehouse Builder components. It is divided into two main sections: Client and Server. The Client, shown to the left of the Server, consists of the Design Center box, which contains the Control Center Manager, and the Repository Browser, represented as a box. The Server part consists from left to right: the Control Center service and Oracle Database. The Oracle Database contains: the repository, which contains the language settings and Workspaces that contain the design metadata and the Control Center data. To the right of this box is the target schema, which contains the generated code, cubes, dimensions, tables, views, mappings, and packages to execute the ETL process.

PKKl@a\PK'AOEBPS/img_text/impact.htm) Description of the illustration impact.gif

Impact Analysis Diagram: The impact diagram for ADDRESS_EXT_TABLE includes ADDRESS_TBL. A mapping is between the two objects.

PK .)PK'A&OEBPS/img_text/star_implementation.htm Description of the illustration star_implementation.gif

The screenshot is a diagrammatic representation showing the table columns to which each attribute in the Products dimension is mapped. On the left is the PRODUCTS dimension. On the right is the PRODUCTS implementation table. There are arrows from attributes in the PRODUCTS dimension to the columns in the PRODUCTS implementation table.

PKϣPK'A+OEBPS/img_text/snowflake_implementation.htm Description of the illustration snowflake_implementation.gif

This screenshot is a diagrammatic representation of the attribute bindings of the dimension when it is implemented using a snowflake schema. To the left is the PRODUCTS dimension. To the right are three tables ordered from top to bottom: TOTAL, GROUPS, and PRODUCT. There are arrows from attributes in the PRODUCTS dimension to columns in the tables TOTAL, GROUPS, and PRODUCTS.

PK'#PK'A!OEBPS/img_text/topo_workspace.htmZ Description of the illustration topo_workspace.gif

The diagram shows Oracle Database (symbolized as a cylinder) with Oracle Warehouse Builder repository residing within (as a rectangle). Within the repository is one Oracle Warehouse Builder workspace (as a rectangle), which contains three projects: TS1, SS1, and SS2.

PKjujPK'AOEBPS/img_text/lineage.htm- Description of the illustration lineage.gif

Lineage Analysis Diagram: The lineage diagram for ADDRESS_EXT_TABLE includes DEFAULT_CONFIGURATION and ADDRESS_CSV.

PK2-PK'A OEBPS/img_text/cube_impl_rel.htmZ Description of the illustration cube_impl_rel.gif

The screenshot shows the relational implementation of the SALES cube. To the left is the SALES cube. To the right is a SALES table. There are arrows from the SALES cube to the SALES table connecting the cube attributes and dimensions to the table columns.

PKPK'AOEBPS/img_text/dp_types.htm Description of the illustration dp_types.gif

This illustration shows the types of analysis performed in each type of data profiling. At the top is a box labeled Data Profiling. Below this box are three boxes labeled, from left to right, Attribute Analysis, Functional Dependency, and Referential Analysis. Arrows connect Data Profiling to each of these boxes.

At the bottom of the image are two rows of boxes. The first row contains the following boxes, from left to right: General, Datatype, Unique, Orphans, and Childless. In the next row are the following boxes, from left to right: Pattern, Domain, Joins, and Redundant Attributes. Arrows connect the box labeled Attribute Analysis to the following boxes: General, Datatype, Unique, Pattern, and Domain. Arrows connect the box labeled Referential Analysis to the following boxes: Orphans, Childless, Joins, and Redundant Analysis.

PK<PK'A'OEBPS/img_text/design_center_canvas.htmj Description of the illustration design_center_canvas.gif

The figure shows the default Design Center layout with the View menu open. This is mainly a clean canvas with a blue background. The Projects Navigator is on the canvas at the left side and the Property Inspector is positioned on the right side.

PKM(PK'A&OEBPS/img_text/olap_catalog_access.htmW Description of the illustration olap_catalog_access.gif

This graphic illustrates the use of the OLAP catalog to access relational data. In this graphic, the data originates in an application, represented in the top left corner by a box labeled Application. To the right of this box are two boxes, from left to right, labeled BI Beans and OLAP Catalog. The data flows from the Application to BI Beans and then to the OLAP Catalog. The data flow is represented by arrows connecting these boxes.

In the lower part of the screen is the Relational Schema. It contains the following: Table 1, Table 2, View 1, and an AW that contains the following: Dimension and Variable. An arrow connects the OLAP Catalog to Table 1. An arrow also connects the OLAP Catalog to View 1. View 1 is connected to Dimension that is contained in the AW.

PK&PK'AOEBPS/img_text/dp_phases2.htm Description of the illustration dp_phases2.gif

This screenshot shows the Data Quality Process. The outermost circle is divided into four parts. They are:

  • Quality Assessment

  • Quality Design

  • Quality Transformation

  • Quality Monitoring

The inner circle is divided into seven parts. They are:

  • Capture Metadata

  • Profile Data

  • Data Rules

  • Data Flow

  • Process Flow

  • Execute

  • Monitor

In the Center of the inner circle is a star that represents metadata management.

PK1PK'AOEBPS/img_text/lia_all.htm Description of the illustration lia_all.gif

Lineage and Impact Analysis Diagram: DEFAULT_CONFIGURATION and ADDRESS_CSV impact ADDRESS_EXT_TABLE, which impacts ADDRESS_TBL. The lineage for ADDRESS_TBL is ADDRESS_EXT_TABLE, and its lineage is DEFAULT_CONFIGURATION and ADDRESS_CSV.

PK#PK'AOEBPS/uitour.htm User Interface Tour

3 User Interface Tour

Oracle Warehouse Builder provides a dynamic workspace for your projects and one, common look-and-feel for all editors, including automatic layout, dockable panels, and zoom capabilities. The Property Inspector standardizes the properties inspection interface for all objects. This section introduces the general user interface elements that are essential to using Oracle Warehouse Builder.

This section contains these topics:

Workspaces

A workspace resides within Oracle Warehouse Builder repository on Oracle Database. Oracle Warehouse Builder repository can contain one or more workspaces, depending on how you want to organize your users and functional areas. The first step in building a new workspace is to assign it a name and to specify the path and directory where its source files are saved. Oracle Warehouse Builder organizes your workspace into projects and creates and organizes many of the configuration files required by the type of data system you are creating. For a description of projects, see "Projects".

The workspace is hosted on an Oracle database. As a general user, you do not have full access to all the workspaces. Instead, you can access those workspaces to which you have been granted access and privileges. You log in to a workspace by starting the Design Center, which is the primary graphical user interface. The Design Center is used to import source objects, design ETL processes such as mappings, and ultimately define the integration solution. For information about the Design Center, see "Design Center".

Figure 3-1 shows a representation of the Oracle Warehouse Builder repository in Oracle Database. Within the repository, at least one workspace containing one project exists. In the figure, numeral 1. points to a workspace and numeral 2. points to several projects within that workspace. Multiple workspaces can reside within Oracle Warehouse Builder repository.

Figure 3-1 Oracle Database with a Workspace Contained within the OWB Repository

Description of Figure 3-1 follows
Description of "Figure 3-1 Oracle Database with a Workspace Contained within the OWB Repository"

Projects

The project is the highest-level and largest object in Oracle Warehouse Builder workspace. Each project acts as the container for all objects in the data system that contains the sources and targets. The work you do on your data system is done in relation of a project. Projects store and organize related metadata definitions. You should include all the objects in a project that you think can or share information. These definitions include data objects, mappings, and transformation operations. The definitions are organized into folders within the project. By creating multiple projects, you can organize the design and deployment of a large system.

You can create projects according to functional areas like Sales, HR, Customer Service, and so forth. Projects are organized in tree hierarchies with modules for specialized types of metadata and Oracle Warehouse Builder objects. Multiple users can concurrently access an Oracle Warehouse Builder project. Changes and updates are managed through a locking mechanism to ensure data integrity.

Projects contain these main structures, which are described in this section:

Figure 3-2 shows projects in a workspace as they are displayed by the Projects Navigator in a tree hierarchy.

Figure 3-2 Projects As They Appear in the Projects Navigator

Description of Figure 3-2 follows
Description of "Figure 3-2 Projects As They Appear in the Projects Navigator"

To create a project

  1. In the Project Navigator, right-click a project, such as MY_PROJECT, and select New.

    The Create Project dialog box is displayed.

  2. Click Help for additional instructions.

Each Oracle Warehouse Builder workspace has a default project called MY_PROJECT. You can rename MY_PROJECT, or you can delete it after you create other projects. However, a workspace must contain at least one project.

Because projects are the main design component in Oracle Warehouse Builder, some restrictions are enforced to prevent you from deleting them unintentionally. You cannot delete:

  • The currently active or expanded project.

  • The only project in a workspace.

To delete a project

  1. In the Project Navigator, collapse the project to delete. You cannot delete the project when it is expanded.

  2. Select and expand any other project.

  3. Highlight the project you want to delete and, from the Edit menu, select Delete.

    or

    Right-click the project and select Delete.

    The Oracle Warehouse Builder Warning dialog box provides the option of putting the project in the recycle bin.

  4. Click OK to delete the project.

Modules

A module is a container for actions that appears in the Projects Navigator, and that corresponds to a specific location in the Locations Navigator. A single location can correspond to one or more modules. However, a given module can correspond to only one metadata location and data location at a time. You can create a new module from the Projects Navigator.

The association of a module to a location enables you to perform certain actions more easily. For example, group or batch actions such as creating snapshots, copying, validating, generating, deploying, and so on, can be performed on all the objects within a module by selecting an action on the context menu when the module is selected.

To define the target schema, begin by creating a module. The Oracle target module is the first of several modules you create in Oracle Warehouse Builder.

Folders

You can create folders to organize all or some objects in a target module based on specific object characteristics. Related tables and views that must be generated or deployed can be placed under a common folder. For example, you may create user folders to group tables based on their functionality (sales, marketing, administration and so forth).

Collections

Collections are structures in Oracle Warehouse Builder that store the metadata you want to export to other tools and systems. Collections enable you to perform the following tasks:

  • Organize a large logical warehouse

  • Validate and generate a group of objects

When you create a collection, you do not create new objects or copies of existing objects. You create shortcuts pointing to objects existing in the project. You can use a collection to quickly access a base object and make changes to it.

You can define multiple collection within a project and an object can be referenced by multiple collection. For example, each user that accesses a project can create his own collection of frequently used objects. The users can also add the same objects (such as mappings, tables, or process flows) to their separate collections.

Each user can also delete either the shortcut or the base object. Shortcuts to deleted objects are deleted in the collection. When you open an object in a collection, you obtain a lock on that object. Oracle Warehouse Builder prevents other users from editing the same object from another collection.

Use the Create Collection Wizard to define a collection as follows.

To define a new collection

  1. Select and expand a project node in the Projects Navigator.

  2. Right-click the Collections node and select New Collection.

    Oracle Warehouse Builder displays the Create Collection dialog box.

  3. In the Name field, enter a name for the collection.

    The name should be unique within the module. In physical naming mode, type a name between 1 to 200 characters. Spaces are not allowed. In logical mode, the maximum number of characters is 200 and spaces are allowed.

  4. In the Description field, enter an optional description for the collection.

  5. Click OK to create the collection.

To add references to objects in the collection

  1. In the Projects Navigator, select the object to include in the collection.

    Select multiple objects by holding down the Shift key while selecting the objects.

  2. Right-click the selected object, select Add to Collection, and then select the name of the collection to which the select object should be added.

    If you selected multiple objects, ensure that you hold down the Shift key while right-clicking the objects.

The selected objects are listed under the collection in the Projects Navigator.

Design Center

The Design Center is the primary place for designing, managing, and building your data integration solution. You access all other tools from this central user interface and perform all commands for selected objects from here. The navigators in the Design Center are tree structures from which you select and manipulate projects and the different kinds of objects such as data locations, relational and dimensional data objects, flat files, ETL mappings to move and transform data, process flows to coordinate sequences of tasks, data profiles, rules and auditors for managing data quality, and so on. The Design Center also serves as a way for you to learn about the various kinds of components you may use in your projects, and also enables you to easily start wizards to create most of the common object types.

Design Center hosts multiple specific editors and tools for working with the different objects. Most tools feature contextual linking, so that as you are working on an object such as a process flow, you can easily open the relevant editors on objects such as ETL mappings referenced in the process flow.

Figure 3-3 shows the Design Center canvas laid out as it usually appears the first time you start using Oracle Warehouse Builder. In this figure, the Start Page has been closed and the View menu is open to show some options for adding to the canvas.

Figure 3-3 Design Center canvas

Description of Figure 3-3 follows
Description of "Figure 3-3 Design Center canvas"

Common Look and Feel with Oracle Application Development Framework

The Design Center user interface uses the Fusion Client Platform, the same core Integrated Development Environment (IDE) platform as Oracle JDeveloper and SQL Developer. The Design Center takes full advantage of usability research behind the Fusion Client Platform and provides developers with an environment that is consistent with other Oracle products.

Some productivity features of the Design Center and Java development environment are:

  • Global Search: You can use a Global Search field to search across the entire Design Center IDE and your project for a word or phrase.

  • Go to File: In addition to Go to Java Class (Alt+Minus), there is an option to Go to File (Ctrl+Alt+Minus) to enable you to quickly navigate to any file visible from your project.

  • Gallery: You can store global objects in named collections, called galleries. You can create new galleries as needed.

Accessing Commands for Selected Objects in the Design Center

The Design Center provides several ways of accessing commands for selected objects:

  • Right-click and select a command from the menu.

  • Select a command from one of the menus on the menu bar.

  • Click an icon on the toolbar.


Note:

After starting the Design Center, if classes cannot be found in their nominated directories, then the Messages area have an Extended tab in addition to the Log tab. This tab lists as warning those particular "errant" or missing classes. Two of these classes listed as missing can always be ignored: help-share and ohj.

Design Center Menus

The Design Center contains the following menus:


Note:

Many of the commands available on the menu bar are also available on popup menus that you can access by right-clicking an object.

Design

The Design menu provides commands for creating a new object, and for configuring and editing parameters for the selected object. From this menu you import and export metadata to and from locations, objects, or folders. You validate the design of one or more selected objects. This menu provides commands for generating PL/SQL code and for deploying the PL/SQL code for one or more selected objects.

The Save command on the Design menu saves your changes to the workspace. The Revert to Saved command discards changes to the workspace.

Edit

The Design Center Edit menu contains commands as follows.

  • Open Editor: Opens the editor for the selected object.

  • Add/Remove Experts Here: Displays the Add/Remove Experts dialog box, which you use to add the name of an expert to the menu. This command is displayed only to administrative users.

  • Cut: Deletes an object as part of a cut-and-paste operation.

  • Copy: Copies an object as part of a copy-and-paste operation.

  • Paste: Pastes a cut or copied object into a new folder. For example, an administrator can cut an expert from the Expert folder in the Project Navigator to the Public Experts folder in the Global Navigator.

  • Delete: Deletes one or more selected objects. A warning message provides the option of moving the object to the recycle bin.

  • Rename: Enables you to edit the name of an object.

  • Find: Displays the Find dialog box, which you use to search for an object within the current project. Searches are case-sensitive, and find only the objects that are visible (that is, in an expanded folder).

  • Properties: Displays the Properties dialog box for the selected object.

View

The Design Center View menu contains the following commands:

  • Refresh: Refreshes the objects displayed in the Project Navigator with the objects in the workspace. In a multiple user environment, this tool updates the Design Center with changes that other users have saved.

  • Expand: Displays the folders or objects in the selected folder.

  • Expand All: Displays all folders, subfolders, and objects in the selected folder.

  • Collapse: Hides all folders and objects in the selected folder, but does not collapse the subfolders. The next time the folder is expanded, the subfolders are either collapsed or expanded, as they were before.

  • Collapse All: Hides all folders and objects in the selected folder, and collapses any subfolders. The next time the folder is expanded, all of the subfolders are collapsed.

  • Data: Displays the Data Viewer for a deployed and executed data object.

  • Profiling Results: Displays the profile for the selected data object. You must have created the profile.

  • Lineage: Opens the Metadata Dependency Manager with the lineage analysis of the selected object.

  • Impact: Opens the Metadata Dependency Manager with the impact analysis of the selected object.

  • Synchronize: Updates an external table with any changes to its source file.

  • Validation Messages: Displays the Validation Results dialog box with the results from validating the selected object.

  • Generated Scripts: Displays the Generated Scripts dialog box with the results from generating the selected object.

  • Messages Log: Displays the message log for the current session. The messages log area includes an Extensions tab when any extensions that are loaded into the ADF cause an error to occur. The Extensions tab only appears if there are errors; otherwise, no extensions tab appears. Click the Extensions tab (if it appears) to see any errors.

Tools

The Design Center Tools menu contains the following commands:

  • Control Center Manager: Displays the Control Center Manager, from which you can deploy objects, start ETL jobs, and view the logs of previous jobs.

  • Job Monitor: Displays the Control Center Jobs window for the selected Control Center or configuration.

  • Change Manager: Displays the Metadata Change Management window, from which you can manage snapshots.

  • Metadata Dependency Manager: Displays the Metadata Dependency Manager, from which you can evaluate the impact of changes to one or more objects on other objects in your data warehouse.

  • Repository Browser: Displays the Repository Browser in your default Web browser, from which you can view reports about the repository or the Control Center. The browser listener must be running.

  • Optimize Repository: Refreshes the statistics for the database schema where the repository is located. This refresh improves the execution time of the SQL commands that the product sends to the database, and thereby improves Oracle Warehouse Builder performance. You should optimize the repository after importing or creating a large amount of metadata.

  • J2EE User Management: Opens the J2EE User Management window, from which a user with administrative privileges can manage J2EE users.

  • SQL*Plus: Opens a SQL*Plus window.

  • Recycle Bin: Opens the recycle bin, from which you can restore deleted objects.

  • Clipboard: Displays the Clipboard Contents window, which displays information about the object currently cut or copied to the clipboard.

  • Preferences: Displays the preferences associated with your login name.

Window

The Design Center Window menu contains commands for displaying and hiding the navigators and OMB*Plus.

Help

The Design Center Help menu provides access to the online help and other resources. Refer to "Getting Help for Oracle Warehouse Builder" for a description.

The Design Center Toolbar

The Design Center toolbar provides easy access to the most commonly used commands, which are also available from the menu bar and on popup menus that you can access by right-clicking an object.

OMB*Plus

OMB*Plus is an optional panel that is available from the Design Center. You can display or hide it by choosing OMB*Plus from the main menu. The OMB*Plus command window enables you to manage objects in the design workspace using the OMB*Plus scripting language.

With the OMB*Plus scripting language you can:

  • Perform complex actions.

  • Define sets of routine operations.

  • Perform batch operations.

  • Automate a series of conditional operations.


See Also:

Oracle Warehouse Builder API and Scripting Reference for complete information about OMB*Plus, and Chapter 10, "Scripting and Automation" in this guide.

Control Center Manager

You use the Control Center Manager to deploy design objects and subsequently execute the generated code. This is the client interface that interacts with the target schema through the Control Center Service, and provides access to the information stored in the active Control Center. As soon as you define a new object in the Design Center, the object is listed in the Control Center Manager under its deployment location. The Control Center Manager enables you to view and manage all aspects of deployment and execution, including status and results.

Oracle Warehouse Builder uses only one Control Center Manager and corresponding Control Center Service for each database instance.

Navigators

The Design Centers provides navigators to organize your workspace into categories that helps to find what you are looking for. Collapsible panels put common elements within easy reach. Objects and files that comprise a composite node are exposed by clicking on the composite node.

The Navigator area in the Design Center contains the following tabs:

Projects Navigator

The Projects Navigator provides a tree that organizes the various object categories in the workspace into folders or containers. Database sources and targets, flat files, external tables, ETL mappings, process flows, data rules, data auditors, and so forth are listed in the order in which they appear in a project. Within the workspace you can have one or more projects, and within each project are various categories of objects. When you select an object, you can create a new one like it, or edit, validate, and deploy it.

Every workspace must have at least one project, which initially is named MY_PROJECT. You can rename this project or use it as a template to create additional projects. When you create a new project, the Project Welcome page provides a guide for configuration. The Projects Navigator can be restored from the View Menu.

Locations Navigator

Use the Locations Navigator to manage locations, connectors, and control centers for the entire workspace from one central location. You can display or hide it by choosing Locations Navigator from the View menu.

You can create locations and control centers while defining other objects. When you create a module, you can define its location. When you create a configuration, you can define a control center. You can create modules and configurations in the Projects Navigator. In contrast to these objects, you can only create a connector in the Locations Navigator.

Connectors Navigator of Locations

Provides a view of connectors to navigate, select, and manage.

Globals Navigator

The Globals Navigator provides users access to a set of shared objects:

  • Public Transformations

  • Public Application Servers

  • Public Code Templates

  • Public Experts

  • Public User Defined Modules

  • Public Data Rules

  • Configuration Templates

  • Icon Sets

  • Security

Users with administrative rights can create a new object or edit an existing one most easily by right-clicking the object or object folder, then choosing a command from the menu. They can also copy objects from the Projects Navigator and paste them into an appropriate folder in the Globals Navigator. In this way, any user can develop an object for use by the team, and an administrator can publish it in the Globals Navigator.

The Security folder is displayed only to administrative users. It enables them to manage the access rights of all workspace users to objects in the workspace.

The Globals Navigator is an optional panel in the Design Center. You can display or hide it by choosing Globals Navigator from the View menu.

Editors

Oracle Warehouse Builder provides contextual, JDev-style editors for accessing and editing the different types of data objects and document objects. Editors in Oracle Warehouse Builder use one common look and feel across all objects, including automatic layout, dockable panels, and zoom capabilities. Many editors for components are fully-integrated, modeless editors. These appear in the editor area along with the other editors, and enable more productive navigation. Additionally, the property inspector standardizes the properties interface for all objects. The property inspector categories are used consistently throughout Oracle Warehouse Builder to make using it more predictable.

The first time you open an editor, it displays with a menu bar, multiple tool bars, multiple windows along the left side, and a canvas or document area on the right.

Common Editor Components

In addition to the items listed in this section, editors typically contain Naming Mode, Rename Mode, Read/Write, and Validation Mode. The percent zoom and navigation mode are also indicated. You find that editors are contextual and they can be customized. This section describes how editors appear when you first start using the Design Center, which is the main graphical user interface in Oracle Warehouse Builder.

The following items are common to most editors in Oracle Warehouse Builder:

  • Title Bar: At the top of the editor, the title bar displays the name of the object, for example a mapping, and the access privileges you have on the object.

  • Menu Bar: Below the title bar, the menu bar provides access to the editor commands. You can access the menu bar by clicking on one of its options or by using hot keys. For example, to access the Mapping menu, press Alt +M.

  • Toolbar: Below the menu bar, the toolbar provides icons for commonly used commands.

  • Canvas: The canvas provides the document area where you design and modify mappings.

  • Indicator Bar: Along the lower edge of the editor there are mode icons, indicators, and descriptions.

Editor Windows

You can resize a window by placing your mouse on the border of the window, pressing the mouse button when the double sided arrow appears, and dragging your mouse to indicate the desired size. You can move a window by placing the mouse on the Title Bar, and dragging the mouse to the desired location. To show or hide windows, select Window from the menu bar and either activate or deactivate the check mark corresponding to the window.

Mapping Navigator

When you first start an editor, Oracle Warehouse Builder displays a navigator in the upper left corner. The navigator provides a tree of all the activities on the canvas and their parameters. When you select an activity on the canvas, Oracle Warehouse Builder goes to the activity on the navigator tree.

Properties Inspector

When you first start an editor, Oracle Warehouse Builder displays the properties inspector in the lower left corner. The properties inspector displays the properties for the object, its operators, and attributes in the operators. Also, when you select an object either from the canvas or the navigator, Oracle Warehouse Builder displays the properties in the properties inspector.

New Gallery

When you right-click an object, a wizard is invoked that guides you to make this object globally available in the object gallery for the JDev-based IDE. It presents a series of panels that capture the necessary information to create the object's component type. It enables you to specify the component name for the new component and to select the package into which you'd like to organize the component. If the package does not yet exist, the new component becomes the first component in that new package. When you click Finish, Oracle Warehouse Builder creates a new JDeveloper-type component by saving its XML component definition file. If you have set your Java generation options to generate classes by default, Oracle Warehouse Builder also creates the initial custom Java class files.

Palette

When you first start an editor, Oracle Warehouse Builder displays a palette along the left side that contains activity icons you can drag and drop onto the canvas. The operator palette features collapsible panels and divider sections to organize related operators. A quick search field is provided to help locate operators. You can add commonly-used operators to your Favorites list for easier access later, and another panel keeps track of your recently used ones. You can relocate the palette anywhere on the editor. You can choose to hide or display the palette by clicking on Operator Palette listed under View in the menu bar.

Editor Toolbars

Editors typically provide the following task-oriented toolbars: general, graphic, generation, and palette. With the exception of the palette, the editor by default displays the toolbars below the menu bar. You can move, resize, or hide each of the toolbars.

  • General Toolbar: Use this toolbar to call common operations such as save all, exporting diagram, validating, generating, and printing.

  • Diagram Toolbar: Use this toolbar to navigate the canvas and change the zoom level of objects on the canvas.

  • Debug Toolbar: Use this toolbar to call commands for debugging a mapping, for example.

  • Palette Toolbar: The palette contains operator icons. To include an operator, drag an operator icon onto the editor canvas. As Oracle Warehouse Builder includes over 50 operators, you may want to sort and display the operators based on type.

Editor Display Options

You can control how an editor displays objects on the canvas by selecting View from the menu bar and selecting Options.

Use the F1 key to see help for each of the options. You can either select or deselect any of the options.

Data Viewer

The data viewer area displays the data stored in the data object.

Generation

The Generation panel displays the generation and validation results for a data object. This panel is hidden when you first open the editor window. It appears the first time you generate or validate a data object.

The Generation window contains Script and Message tabs. The Script tab displays the generated scripts to implement the data object selected in the canvas. The Message tab displays the validation messages for the selected data object. Double-click a message to view the complete message text.

Wizards

Oracle Warehouse Builder provides wizards to guide you in making numerous design decisions in defining objects and operators. Each wizard begins with a welcome page that provides an overview of the steps you must perform, and each wizard concludes with a summary page listing your selections.

Repository Browser

The Repository Browser provides Web-based access to workspaces to view design details and metadata properties, and to generate reports about workspace objects and data.

With the Repository Browser you can also view reports for both high-level and detailed ETL run time information as follows:

  • Timings for each mapping and process flow.

  • Details of activities for each process flow.

  • Error details.

  • Deployment information to manage separate target environments.


    Note:

    To open the Repository Browser, you must have the ACCESS_PUBLICVIEW_BROWSER system privilege. You automatically have this privilege when you are the owner of the repository to browse. If you are not the owner of the repository, then you must contact your database administrator to have this privilege set.


See Also:


PKPK'AOEBPS/metadatamgt.htm.wш Dependency and Change Management

7 Dependency and Change Management

This section discusses how metadata is managed and made secure in Oracle Warehouse Builder and introduces the Metadata Loader, snapshots, the Metadata Dependency Manager, and lineage and impact analysis.

This section contains these topics:

Metadata Security Concepts

Oracle Warehouse Builder enables you to design security on the metadata you store in the design repository. The design repository is an Oracle Database with users, roles, and access privileges defined. Oracle Warehouse Builder metadata security operates in addition to the Oracle Database security. The Oracle Database provides security for data while Oracle Warehouse Builder provides security for the metadata.

In addition to being registered in the repository, all users must also be database users in the design repository database. Database users have access to the data in the database by using SQL Plus. However, they do not have access to Oracle Warehouse Builder and its metadata unless the users are also registered in Oracle Warehouse Builder.

Metadata security is optional and flexible. You can:

  • Apply no metadata security controls or define a metadata security policy.

  • Define multiple users and apply full security.

  • Implement your own security strategy based on the Security Service.

Also, after you define a security strategy, you can later adapt the strategy to be more or less restrictive. The following sections describe how to implement metadata security using the Design Center.

Security policies can be managed from within the Repository Assistant or by using OMB*Plus commands.

About the Security Service

Only users with administrative privileges can access the Security Service and change security policy in Oracle Warehouse Builder.

When you install Oracle Warehouse Builder and then use the Repository Assistant to create a design repository, Oracle Warehouse Builder assigns the design repository owner you define to be the default administrator. The first time you start the Design Center after installation, you must log in as the design repository owner. You can then define additional administrators or other users as necessary.

Log in to the Oracle Warehouse Builder Design Center as the design repository owner and Oracle Warehouse Builder displays the Globals Navigator.

Under the security node, there are two predefined roles, ADMINISTRATOR and EVERYONE. The one predefined user is the design repository owner, REPOS_OWNER in this example, which is assigned the ADMINISTRATOR role by default.

To perform actions under the Security node, select an object and right-click to view all of the possible operations. Or select an object and select Edit from the menu bar.

Metadata Lifecycle Management Concepts

Oracle Warehouse Builder provides several solutions for copying and moving metadata for the purposes of backup, history management, and version management. You can either take snapshots of your metadata or use the Metadata Loader (MDL) utility.

Snapshots enable you to capture the metadata definitions of design objects created in the Project Navigator. You can capture all the design objects in a project or selectively choose objects in a project to include in a snapshot.

The Metadata Loader utility enables you to copy and move all types of metadata objects in a repository. With this utility, you can move metadata between Oracle Warehouse Builder repositories that reside on platforms with different operating systems.

With both solutions, you can export the metadata into a third-party version control tool such as ClearCase or SourceSafe.

The Metadata Loader

Using the Metadata Loader (MDL) utility, you can import and export metadata from any object in the Project Navigator, Global Navigator, and Connection Navigator. You can then move exported files into a third-party version control tool such as Oracle Repository, ClearCase, or SourceSafe. You can enter annotations for your MDL export file to keep track of the information contained in the file.

The Metadata Loader enables you to populate a new repository and transfer, update, or restore a backup of existing repository metadata. You can copy or move metadata objects between repositories, even if those repositories reside on platforms with different operating systems.

You can use the Design Center to run the Metadata Loader utilities. The Design Center provides a graphical interface that guides you through the process of exporting and importing metadata.


See Also:

"Using the Metadata Loader" in Oracle Warehouse Builder Installation and Administration Guide.

Metadata Snapshots

A snapshot captures all the metadata information about the selected objects and their relationships at a given point in time. While an object can only have one current definition in a workspace, it can have multiple snapshots that describe it at various points in time. Snapshots are stored in the Oracle Database, in contrast to Metadata Loader exports, which are stored as separate disk files. You can, however, export snapshots to disk files. Snapshots are also used to support the recycle bin, providing the information needed to restore a deleted metadata object.

When you take a snapshot, you capture the metadata of all or specific objects in your workspace at a given point in time. You can use a snapshot to detect and report changes in your metadata. You can create snapshots of any objects that you can access from the Projects Navigator.

A snapshot of a collection is not a snapshot of just the shortcuts in the collection but a snapshot of the actual objects.


See Also:


About Managing Snapshots

You can manage your snapshots from the Metadata Change Management window in the Design Center. To open this window, select Change Manager from the Tools menu.

The Metadata Change Management window contains a menu bar and a toolbar. You can start most tasks in several different ways, either by using the menus, clicking the tools, or right-clicking a snapshot or a component.


See Also:

"Managing Snapshots" in Oracle Warehouse Builder for Installation and Administration Guide for complete procedures.

The Metadata Dependency Manager (MDM)

The Metadata Dependency Manager (MDM) enables you to plan your project by previewing the impact of the changes or future changes for "what-if" analysis. When you plan to introduce changes to your source systems, you can gauge the impact of that change on your warehouse design. If changes have been introduced, then you can plan the time required to update your ETL design and rebuild your data warehouse.


See Also:

"Managing Metadata Dependencies" in Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide for complete procedures.

The Metadata Dependency Manager Menus and Commands

The Metadata Dependency Manager is a graphical interface that represents the dependencies between objects. Knowing that an object has dependencies with another object helps identify potential impacts when things change.

The Metadata Dependency Manager has the following components:

Menu Bar

The Metadata Dependency Manager menu bar provides commands for performing various tasks. Some commands are also available on the toolbars.

Analysis

The Analysis menu contains the following commands:

  • Close: Closes the Dependency Manager.

  • Export Diagram: Exports the active diagram to the local file system as an SVG or JPEG file.

  • Print Options: Provides Print Setup, Preview, and Print options for printing the diagram.

Edit

The Edit menu contains the following commands:

  • Open Editor: Opens the Editor for the currently selected object.

  • Hide: Removes the selected objects from the canvas. Use the Refresh command on the View menu to restore the hidden objects.

  • Select All: Selects all objects displayed on the canvas.

  • Propagate Changes: Displays the Propagate Changes dialog box for a selected attribute. Use it to change the value of an attribute and to propagate that change to all objects downstream. For example, you can select a column in a table object and change its metadata such as its name or data type.

  • Group Selected Objects: Creates a group containing the selected objects on the canvas. A folder icon represents all objects in the group. Double-click the icon to display the individual objects in the group. Grouping enables you to reduce clutter on the canvas when there are many objects.

  • Ungroup Selected Objects: Eliminates the selected group so that all objects are represented individually.

  • Group By Module: Automatically groups all objects by module. A folder icon represents the module and all objects in the module. Double-click the icon to display the individual objects in the group.

  • Ungroup Modules: Eliminates the module groups so that all objects are represented individually.

View

The View menu contains the following commands:

  • Toolbars: Displays or hides the Graphic tools or the Edit tools.

  • Mode: Sets the pointer for one of these actions:

    • Select: Selects one or more objects on the canvas.

    • Pan: Moves the entire diagram on the canvas.

    • Interactive Zoom: Expands the diagram as you move the pointer down, or shrinks the diagram as you move the pointer up.

    • Navigate Edge: Selects the next object in the flow.

  • Zoom: Displays a list of percentages that expand or shrink the diagram.

  • Fit in Window: Automatically chooses a size for the diagram so that it fits on the canvas.

  • Auto Layout: Organizes the objects and displays the diagram at its default size.

  • Center: Centers the diagram on the canvas.

  • Show Full Impact: Generates the full impact diagram of the selected object.

  • Show Full Lineage: Generates the full lineage diagram of the selected object.

  • Show Lineage: Displays the next level of objects in the lineage diagram of the selected object.

  • Hide Lineage: Hides the lineage of the selected object.

  • Show Impact: Displays the next level of objects in the impact diagram of the selected object.

  • Hide Impact: Hides the impact of the selected object.

  • Expand: Expands the selected icon in the diagram. The expanded icon shows the details of the object, such as the columns in a table or the attributes in a dimension.

  • Expand All: Expands all the object icons in the diagram.

  • Collapse: Collapses the expanded icon for a selected object.

  • Collapse All: Collapses all the expanded icons on the canvas.

  • Refresh: Refreshes the Dependency Manager diagram to reflect recent changes in the workspace.

Window

The Metadata Dependency Manager Window menu contains commands for toggling between displaying and hiding the following windows:

  • Property Inspector

  • Bird's Eye View

  • Tree View

Toolbars

The Metadata Dependency Manager provides two toolbars as shortcuts to frequently used commands:

  • Graphic toolbar: Provides icons for commands on the View menu. Refer to "View" for descriptions of these commands.

  • Edit toolbar: Provides icons for commands on the Edit menu. Refer to "Edit" for descriptions of these commands.

Bird's Eye View

Use the Bird's Eye View to quickly change the portion of the diagram currently displayed on the canvas. This view displays a miniature version of the diagram on the canvas, with a scrollable box that represents the dimensions of the canvas. Drag the box to the area of the diagram currently of interest to you.

DM Tree

Use the DM Tree to change the content of the canvas. The DM Tree has these tabs:

  • DM Context Tree: Lists objects in the current project. Right-click an object, and use the menu to generate a new diagram or to add the object to the current diagram. You can also drag-and-drop an object onto the current diagram.

  • DM Graph Tree: Lists the current diagrams. You can close a diagram on the canvas, then use this list to redisplay the diagram without regenerating it.

Property Inspector

Use the Property Inspector to view an object's properties.

To change the current object in the Property Inspector, right-click the object on the canvas and select Update Property Inspector.

For a description of a property, select the property in the Inspector. The description appears at the bottom of the window.

Canvas

Use the canvas to display one or more lineage and impact diagrams. Each diagram is displayed on a separate tab.

You can use these techniques to create and manipulate diagrams on the canvas:

  • To open a new diagram, right-click an object in the DM Context Tree and select Show Lineage or Show Impact.

  • To close a diagram, click the X on the tab. You can redisplay the diagram from the DM Graph Tree until you close the Metadata Management window.

  • To add an object to the canvas, drag-and-drop it from the DM Context Tree.

  • To display more of the lineage of an object, click the plus sign (+) to the left of its icon. To hide the lineage, click the minus sign (-) to the left.

  • To display more of the impact of an object, click the plus sign (+) to the right of its icon. To hide the impact, click the minus sign (-) to the right.

  • To display the details of an object, double-click it. You can then select an individual property and edit it by choosing Propagate Changes from the Edit menu.

  • To edit an object, right-click its icon and select Open Editor.

Metadata Dependencies and Lineage and Impact Analysis

Oracle Warehouse Builder provides the Metadata Dependency Manager to detect and resolve the impact of the changes made to the object definitions or the metadata in the workspace. The Metadata Dependency Manager generates lineage and impact diagrams for any data object. A lineage diagram traces the data flows for an object back to the sources and displays all objects along those paths. An impact diagram identifies all the objects that are derived from selected object.

This type of information can help you in many circumstances as follows:

  • Follow government regulations or other audits that require tracking of financial data.

  • Modify the system design because of changes in the source data.

  • Modify the system design because of new requirements for reporting and analysis.

  • Assess the impact of design changes in a pluggable mapping that is used throughout a project.

Lineage and Impact Analysis Diagrams

Lineage and Impact Analysis (LIA) diagrams show the relationships among objects managed by Oracle Warehouse Builder. These relationships are constructed by mappings and structural relationships (for example, a primary key and foreign key relationship). The lineage diagram for a particular object shows its source objects, and the impact diagram shows its targets.

Lineage and impact are mirror images of each other. If Object A is part of the lineage diagram of Object B, then Object B is part of the impact diagram of Object A. When you read a diagram from left to right, you are seeing impact. When you read it from right to left, you are seeing lineage.


Tip:

"Managing and Exploring Objects in an LIA Diagram" in Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide

For example, you might have a mapping that extracts data from a file and loads it into a table by way of an external table. This is the relationship:

flat_file > external_table > table

Figure 7-1 shows a lineage diagram of an external table named ADDRESS_EXT_TABLE. ADDRESS_CSV is a flat file, and it is part of the lineage of ADDRESS_EXT_TABLE. Thus, any change to ADDRESS_CSV will impact ADDRESS_EXT_TABLE.

Figure 7-1 Lineage Analysis Diagram for ADDRESS_EXT_TABLE

Screen capture of a lineage analysis diagram
Description of "Figure 7-1 Lineage Analysis Diagram for ADDRESS_EXT_TABLE"

Figure 7-2 shows an impact diagram of ADDRESS_EXT_TABLE, which includes the ADDRESS_TBL. Any change to ADDRESS_EXT_TABLE will impact ADDRESS_TBL. ADDRESS_EXT_TABLE is part of the lineage of ADDRESS_TBL.

Figure 7-2 Impact Analysis Diagram for ADDRESS_EXT_TABLE

Screen capture of an impact analysis diagram
Description of "Figure 7-2 Impact Analysis Diagram for ADDRESS_EXT_TABLE"

You can see both the lineage and the impact of an object by clicking the plus signs (+) on either side of the object icon, as shown in Figure 7-3.

Figure 7-3 Lineage and Impact Analysis Diagram

Screen capture of a lineage and impact analysis diagram.
Description of "Figure 7-3 Lineage and Impact Analysis Diagram"

PKG3w.wPK'AOEBPS/apx_prefs.htm Oracle Warehouse Builder Design Center and Runtime Preferences

A Oracle Warehouse Builder Design Center and Runtime Preferences

This appendix describes the preferences available in Oracle Warehouse Builder.

This appendix contains the following topics:

About Design Center Preferences

Oracle Warehouse Builder provides a set of user preferences that enable you to customize your user interface and environment. You set preferences from the Design Center by selecting an object and clicking Design on the Design Center menu.

Preferences are organized, and each preference contains values that you set according to your design needs. You may also view and set preferences from the Oracle Warehouse Builder client console menu under Tools>Preferences.

Oracle Warehouse Builder has the following preferences:

Code Template Editor Preferences

The Code Template Editor preferences provide settings for how the editor is laid out on screen. It enables management of screen real estate while you are editing a Code Template.

  • Vertical Layout Horizontal Spacing: Specify the screen width for vertical layout. The default is 80.

  • Horizontal Layout Horizontal Spacing: Specify the screen width for horizontal layout. The default is 25.

  • Direction of Auto Layout: Specify how the editor is automatically laid out on screen when opened. The default is Vertical.

  • Vertical Layout Vertical Spacing: Specify the screen height for vertical layout. The default is 5.

  • Horizontal Layout Vertical Spacing: Specify the screen height for horizontal layout. The default is 40.

Control Center Monitor Preferences

Use the Control Center Monitor category to set preferences that control the display of components in the Control Center. When you use the Control Center to deploy or execute objects, the Job Details window displays the results of deployment or execution. The Control Center Monitor preferences enable you to control which items to display in the object tree of the Job Details window.


Note:

Oracle Warehouse Builder displays the Job Details window only if you select the Show Monitor preference under the Process node of the Deployment preferences category.

If this option is not selected, then you can view the Job Details window by double-clicking the row representing the deployment or execution job in the Control Center Jobs panel of the Control Center.


The Control Center Monitor category contains the following preferences:

  • Show Project: Select this option to display the project name in the Job Details window object tree. When this option is selected, the object tree displays a node for the named project, and all the objects are displayed under this project node.

  • Show Module: Select this option to display the name of the module to which the object being deployed or executed belongs in the Job Details window. When this option is selected, the object tree displays a node for the module. Expand the module node to view the object details.

  • Show Location: Select this option to display the location name in the object tree of the Job Details window.

  • Show Action: Select this option to display and access the actions that can be performed on the object in the object tree of the Job Details window. The actions that can be performed are: Create, Drop, Deploy, and Upgrade.

  • Show Type: Select this option to display the type of object in the object tree of the Job Details window. When you select this option, a node is displayed for the type of object and the objects are listed under the respective nodes.

Data Profiling Preferences

Use the Data Profiling category to set the preferences for data profiling.

This category contains the following preferences:

  • Data Rule Folder Name: Use this option to set the name of the folder that contains the data rules equals data profiling.

  • Default Profile Location: Use this option to set the default location that is used to store the data profiling results. You can override this setting by selecting a different location as your profile location. In the Data Profile Editor, from the Edit menu, select Properties. Use the Data Locations tab to change the default profile location.

Deployment Preferences

The Deployment category enables you to set deployment preferences such as displaying the deployment monitor, prompting for execution parameters, and showing completion messages. It enables you to control some popup windows that are displayed by the Control Center Manager during object deployment.

Deployment preferences are divided into two sections: "Process" and "Monitor". Expand the Deployment node in the Preferences dialog box. Click the node for which you want to set preferences.

Process

The Process node sets the following deployment options:

  • Pause After Compile: Select this option to pause deployment after script generation. It means that you must explicitly deploy an object after it is successfully generated.

  • Prompt for Commit: Select this option to prompt the user to commit design time changes before a deployment. When you deploy objects from the Design Center, if there are any unsaved design changes, then Oracle Warehouse Builder prompts you to save these changes by displaying Oracle Warehouse Builder Warning dialog box. Click Save to commit unsaved design changes. Click Cancel to terminate the deployment.

    If you do not set this option, then Oracle Warehouse Builder saves any design changes before the deployment job.

  • Prompt for Job Name: Select this option to prompt the user for the name of a deployment job. When this option is not selected, Oracle Warehouse Builder assigns a default job name.

  • Prompt for Execution Parameters: Select this option to prompt the user for the values of execution parameters. If you do not select this option, then Oracle Warehouse Builder uses the default value of parameters during the execution. Oracle Warehouse Builder does not prompt you to provide the parameter values.

  • Show Monitor: Select this option to display the Job Details window when you deploy or execute an object. This dialog box displays details of the objects being deployed, deployment progress, and deployment status.

  • Show Deployment Completion Message: Select this option to display an alert indicating that the deployment job has completed.

  • Show Design Center Deployment Job: Select this option to display the Control Center Jobs dialog box when you deploy an object from the Design Center. The Control Center Jobs dialog box, which is similar to the Jobs panel of the Control Center Manager, contains the Deployment, Execution, and Scheduled tabs. Use this option to view the status of a deployment job while deploying using the Design Center.

Monitor

The Monitor node sets the following deployment monitoring options:

  • Show Monitor Tree: Select this option to show the Job Details window when you perform a deployment or execution.

  • Show Monitor Results: Select this option to display the deployment or execution results in Control Center Manager.

  • Show Monitor Logfile: Select this option to display the log file in the Control Center Manager.

Environment Preferences

The Environment category enables you to set generic preferences that control the client environment such as displaying welcome pages for wizards and recycle bin preferences.

You can set the following environment preferences:

  • Recycle Deleted Objects: Select this option to move deleted objects to the recycle bin. If this option is not selected, any objects you delete are lost and you have no way of recovering them.

  • Allow Optimize Repository Warning on Startup: Select this option to collect schema statistics when you log on to Oracle Warehouse Builder. Collecting schema statistics improves repository performance. If this option is selected, at log on, Oracle Warehouse Builder determines if statistics must be gathered for the repository schema. If statistics must be gathered, a warning dialog box is displayed asking to gather statistics now. Click Yes to collect schema statistics and optimize the repository.

    If you do not select this option, you can still collect schema statistics from the Design Center by selecting Optimize Repository from Tools menu.

  • Show Delete Confirmation Dialog Box: Select this option to display a dialog box that asks for a confirmation before deleting an object. When this option is selected, if you delete an object, Oracle Warehouse Builder Warning dialog box is displayed. Click Yes to delete the object. Click No to cancel the Delete operation and retain the object.

  • Hide All Wizard Welcome pages: Select this option to hide the welcome page of all wizards. Every wizard in Oracle Warehouse Builder starts with a Welcome page that summarizes the steps to follow to complete that task. To display the Welcome page for all wizards, deselect this preference.

  • Empty Recycle Bin on Exit: Select this option to empty the contents of the recycle bin when you exit Oracle Warehouse Builder client. Deselect this option to save the recycle bin objects across sessions.

  • Default Workspace: Select this option to set the default workspace for the logged in user to use. A drop-down list shows the workspaces for which the logged in user is registered. The initial setting is for the first workspace that you own or for which you were registered.


    Note:

    You can access public views from your default workspace. From your default workspace, when you log in to SQL*Plus, you can access public views (design-time public views or run time public views) without needing to call a separate procedure.

    If you try to access public views from any workspace other than the default, then you must call: WB_workspace_management.set_workspace(<wksp_name>, <wksp_owner>).

    If you want to switch to a workspace other than the default one, then you can call the WB_workspace_management.set_workspace procedure. You must have the ACCESS_PUBLICVIEW_BROWSER system privilege to retrieve useful information from the public views. Otherwise, you get "0 rows returned." You must ask the workspace owner or workspace admin to grant the system privilege ACCESS_PUBLICVIEW_BROWSER.


Expert Editor Preferences

The Expert Editor preferences provide settings for how the editor is laid out on screen. It enables management of screen real estate while you are editing a Code Template.

  • Vertical Layout Horizontal Spacing: Specify the screen width for vertical layout. The default is 80.

  • Horizontal Layout Horizontal Spacing: Specify the screen width for horizontal layout. The default is 25.

  • Direction of Auto Layout: Specify how the editor is automatically be laid out on screen when opened. The default is Vertical.

  • Vertical Layout Vertical Spacing: Specify the screen height for vertical layout. The default is 5.

  • Horizontal Layout Vertical Spacing: Specify the screen height for horizontal layout. The default is 40.

Generation/Validation Preferences

The Generation/Validation category enables you to set preferences related to generation and validation of Oracle Warehouse Builder design objects. Use these preferences to control what is displayed in the Generation Results dialog box or Validation Results dialog box. These dialog boxes are displayed when you generate or validate an object from the Design Center.

The Generation/Validation category contains the following preferences:

  • Show Project: Select this option to display the project node in Validation Results dialog box or the Generation Results dialog box.

  • Show Module: Select this option to display the module node in Validation Results dialog box or the Generation Results dialog box.

  • Show Location: Select this option to display the location node in Validation Results dialog box or the Generation Results dialog box.

  • Show Action: Select this option to display the action node in Validation Results dialog box or the Generation Results dialog box.

  • Show Type: Select this option to display the type node in Validation Results dialog box or the Generation Results dialog box.

Lineage and Impact Analysis Preferences

The Lineage and Impact Analysis preferences provide settings for how the editor is laid out on screen. It enables management of screen real estate while you are editing a Code Template.

  • Vertical Layout Horizontal Spacing: Specify the screen width for vertical layout. The default is 80.

  • Horizontal Layout Horizontal Spacing: Specify the screen width for horizontal layout. The default is 25.

  • Direction of Auto Layout: Specify how the editor is automatically be laid out on screen when opened. The default is Vertical.

  • Vertical Layout Vertical Spacing: Specify the screen height for vertical layout. The default is 5.

  • Horizontal Layout Vertical Spacing: Specify the screen height for horizontal layout. The default is 40.

Logging Preferences

The Logging Preferences category enables you to set log file options such as file location, file size, and types of messages saved to any log file. The log file contains messages relating to your design process. By default a message log is saved to the default location.

The Logging Preferences category contains the following preferences:

  • File Path: This option specifies the location where the log files are saved. Enter the complete path or use the Browse button to select the location. The default location is OWB_HOME\owb\bin\admin.

  • File Name: This option specifies the name of the log file. Do not include a file extension when you specify a file name.

  • Maximum Size (Kb): This option specifies the maximum file size for the log file(s) in Kb. There are two log files: <logfilename>.0, and <logfilename>.1. When the maximum size of the first log file <logfilename>.0 is reached, Oracle Warehouse Builder starts writing to the second log file, <logfilename>.1. When the maximum size of the second one is reached, Oracle Warehouse Builderstarts overwriting the first log file.

  • Log Error Messages: Select this option to write all error messages to the log file.

  • Log Warning Messages: Select this option to write all warning messages to the log file.

  • Log Information Messages: Select this option to write all information messages to the log file.

Mapping Editor Preferences

The Mapping Editor preferences provide settings for how the editor is laid out on screen. It enables management of screen real estate while you are editing a Code Template.

  • Vertical Layout Horizontal Spacing: Specify the screen width for vertical layout. The default is 80.

  • Horizontal Layout Horizontal Spacing: Specify the screen width for horizontal layout. The default is 25.

  • Direction of Auto Layout: Specify how the editor is automatically be laid out on screen when opened. The default is Vertical.

  • Vertical Layout Vertical Spacing: Specify the screen height for vertical layout. The default is 5.

  • Horizontal Layout Vertical Spacing: Specify the screen height for horizontal layout. The default is 40.

Naming Preferences

The Naming Preferences category enables you to set naming preferences by selecting whether you want to view objects in Business Name or Physical Name mode. You can also set how you want to propagate object name changes, and whether you want to synchronize names with the target.

The Naming Preferences category contains the following preferences:

  • Naming Mode: Selects whether to display objects using their physical or business names.

  • Propagate Name Changes: Propagates name changes from the current naming mode to the other naming mode (physical to business naming mode, and vice versa.)

  • Synchronize: Selects whether to synchronize names with the target object, or to keep names as-is.

About Naming Modes

Oracle Warehouse Builder maintains a business name and a physical name for each object stored in the repository. A business name is a descriptive logical name for an object. A physical name is the actual object name recognized by the repository.

When you generate DDL scripts for a named object, the physical names are used. Physical names must conform to the syntax rules for basic elements as defined in the Oracle Database SQL Language Reference.

Names must be unique within their category:

  • Module names must be unique within a project.

  • Warehouse object names must be unique within a warehouse module. This includes the names of tables, dimensions, cubes, mappings, materialized views, sequences, views and indexes.

  • Transformation names must be unique within a transformation package.

Business Name Mode Use Business Name mode to create a business name for an object or to change the business name of an existing object. When this mode is selected, Oracle Warehouse Builder editors, wizards, and property sheets display the business names of objects.

A business name must conform to these rules:

  • The length of a name cannot exceed 200 characters.

  • The name must be unique within its category.

  • All source modules reflect the case of the imported source and are subject to the double-quotes rules as defined in the Oracle Database SQL Language Reference.

Copy operations from a source to a target in a mapping are not case-sensitive.

When you create a business name, Oracle Warehouse Builder generates a corresponding, valid physical name that resembles the business name. If you create a business name that duplicates an existing physical name, then Oracle Warehouse Builder appends an underscore and a number to create a unique name.

Physical Name Mode Use Physical Name mode to create a physical name for an object or to change the physical name of an existing object. When this mode is selected, Oracle Warehouse Builder editors, wizards, and property sheets display the physical names of objects. Physical names are converted to UPPERCASE.

An object's physical name must conform to these rules:

  • Contain no more than 30 characters.

  • Conform with the basic syntax rules for schema objects as defined by Oracle Database SQL Language Reference.


    Note:

    A collection can have a physical name containing up to 200 characters.

Oracle Warehouse Builder prevents you from entering an invalid physical name. For example, you cannot enter a duplicate name, a name with too many characters, nor a name that is a reserved word.

Setting the Name Mode To create or change a business name for an object, Oracle Warehouse Builder must be in Business Name mode. To create or change a physical name for an object, Oracle Warehouse Builder must be in Physical Name mode.

The default naming preferences for Oracle Warehouse Builder are as follows:

  • Mode: The default setting for the mode is physical name mode.

  • Propagation: The default propagation setting is to propagate physical name to business name.

Icons for the name mode and name propagation settings are located in the lower-left corner of the editors. These icons indicate the current naming preference setting.

Oracle Warehouse Builder saves your naming preferences across sessions. The Name Mode preference is stored in a file on the client workstation. If you use Oracle Warehouse Builder from another workstation, your preferences may be different.

Process Flow Editor Preferences

The Process Flow Editor preferences provide settings for how the editor is laid out on screen. It enables management of screen real estate while you are editing a Code Template.

  • Vertical Layout Horizontal Spacing: Specify the screen width for vertical layout. The default is 80.

  • Horizontal Layout Horizontal Spacing: Specify the screen width for horizontal layout. The default is 25.

  • Direction of Auto Layout: Specify how the editor is automatically be laid out on screen when opened. The default is Vertical.

  • Vertical Layout Vertical Spacing: Specify the screen height for vertical layout. The default is 5.

  • Horizontal Layout Vertical Spacing: Specify the screen height for horizontal layout. The default is 40.

Recent Logons Preferences

The Recent Logons preferences enables you to set preferences regarding the most recent logons. The table on this page displays details of the most recent logons. The details include the repository user name, host name, port number, and service name.

Use the Maximum Logons Remembered field to specify the number of recent logons for which Oracle Warehouse Builder client should store details. For example, if you set this field to 4, the table displays details of the four most recents logons.

To modify the details of a particular logon, click the detail you want to modify and enter the new value.

To delete a recent logon, right-click the row header and select Delete.

Security Parameters


Note:

Only administrators can edit the security preferences.


The Security Parameters category contains the following settings:

PeDrsist Location Password in Metadata

This option determines whether location passwords are persisted across Oracle Warehouse Builder design sessions.

By default, this option is deselected, which is the more secure setting. Oracle Warehouse Builder retains location passwords for the length of the design session only. That is, the first time you start tools such as the Data Viewer or Debugger, you must enter the appropriate location passwords.

If this option is selected, then Oracle Warehouse Builder persists encrypted versions of location passwords in the workspace. The result is that you can start tools such as the Data Viewer and Debugger without entering passwords each time.


See Also:

"Encrypting Passwords to Warehouse Builder Locations" in Oracle Warehouse Builder Installation and Administration Guide for more information about the encryption methodology.

Share Location Password During Runtime

This parameter determines whether the location passwords that users enter during the design phase can be shared with other users. For example, assume that user Dev1 designs mapping MAP1. To access the sources and targets for this mapping, Dev1 defines the locations to each source and target, including a user name and password. When other users subsequently attempt to execute MAP1 or view data associated with it, Oracle Warehouse Builder preference determines whether each user must enter the password each time in the Design Center, or the first time in the Control Center.

Share Location Password During Run time works with "Persist Location Password in Metadata". The most secure mode, and the default behavior, is for both options to be deactivated. In this case, each user, including Dev1, must enter their password for each Design Center session and for the first time they attempt to use that location in the Control Center. Depending on your security requirements, you may want each user to define their own location for a given source or target

If both Share Location Password During Runtime and "Persist Location Password in Metadata" are activated, then any user can access a schema given that any user previously defined the location. Therefore, user Oper2 can execute MAP1 given that Dev1 or any other user previously defined the location with valid credentials.

Default Metadata Security Policy

This parameter specifies the default security policy to be applied. Minimum security enables all users full control over objects that any newly registered user creates. Maximum security, however, restricts access to the newly registered user who created the object, and to Oracle Warehouse Builder administrators.

This setting is not retroactive. That is, if you change this setting in an existing Oracle Warehouse Builder implementation, then the setting does not affect existing users and existing objects. You must manually change the security settings on existing objects.


See Also:

"Managing Security" in Oracle Warehouse Builder Installation and Administration Guide for more information about changing the security settings manually.

About Runtime Preferences

This file contains the Control Center property values. The properties defined in this file override any property values stored in the Control Center repository and is read during Control Center service startup. The Control Center service must be restarted for any changes to this file to become active. The file provides a default for all Control Center repositories. For defaults on per repository basis, a new file is created suffixed with the repository name in upper case.

Runtime_MYREPOS.properties.

The file is under strict operating system access control with update privileges only by the DBA, and read access by the user running the Control Center service. The backward slash character '\' is used as an escape character so '\\' is the equivalent to '\'.

Runtime.Properties file has the following features:

External Activity Security - Constraints

The behaviour of the following operators can be restricted: Shell (External Process), SQLPlus, FTP, OMBPlus. This is required because, by default, the Control Center service is executed using the same security context as the Oracle service.

The following properties can be use to control the operator behaviour:

  • property.RuntimePlatform.0.NativeExecution.FTP.security_constraint

  • property.RuntimePlatform.0.NativeExecution.Shell.security_constraint

  • property.RuntimePlatform.0.NativeExecution.SQLPlus.security_constraint

  • property.RuntimePlatform.0.NativeExecution.OMBPlus.security_constraint

The following values are used to control the operator behaviour:

  • NATIVE_JAVA

  • SCHEDULER

  • DISABLED

where, NATIVE_JAVA uses the Java 'Runtime.exec' interface (Default), SCHEDULER uses a DBMS Scheduler external job submitted by the Control Center repository owner that is executed by the default operating system user configured by the DBA. DISABLED prevents execution through these operators.


Note:

This option does not effect the users ability to schedule jobs through Oracle Warehouse Builder.

The Java Activity Operator creates an operating system process to instantiate Java classes using the Java executable. By default the Java executable is taken from the Control Center Service path. However, the following property can be defined to set which executable or script is used.

property.RuntimePlatform.0.NativeExecution.JavaOSProcess.executable

External Activity Security - Proxy Command

This additional feature is provided to force the execution of the constrained operators through a proxy command. This could be used to prevent execution of unauthorized commands or to change the security context at the operating system level.

The following properties are used to pre-pend a command and parameter_list. This is optional to the user specified command and parameter_list:

  • property.RuntimePlatform.0.NativeExecution.FTP.proxy_command

  • property.RuntimePlatform.0.NativeExecution.FTP.proxy_parameter_list

  • property.RuntimePlatform.0.NativeExecution.Shell.proxy_command

  • property.RuntimePlatform.0.NativeExecution.Shell.proxy_parameter_list

  • property.RuntimePlatform.0.NativeExecution.SQLPlus.proxy_command

  • property.RuntimePlatform.0.NativeExecution.SQLPlus.proxy_parameter_list

  • property.RuntimePlatform.0.NativeExecution.OMBPlus.proxy_command

  • property.RuntimePlatform.0.NativeExecution.OMBPlus.proxy_parameter_list

For example:

property.RuntimePlatform.0.NativeExecution.SQLPlus.proxy_command =
# c\:\\windows\\system32\\cmd.exe

property.RuntimePlatform.0.NativeExecution.SQLPlus.proxy_parameter_list =
# ?/c?c\\:\\\\bin\\\\exec.bat?

Note:

For proxy_parameter_list, a single backslash '\' must be entered as a sequence of four backslashes '\\\\' as both the parameter_list decoder and the properties file use backslash as an escape character.

Version Checking Management

The following boolean property (true | false) controls whether the version of the Control Center service is validated against the Control Center repository:

property.RuntimePlatform.0.skip_version_check

Connection Pooling

Connection Pooling properties control the use of the Control Center connection pool. The pool can improve performance in an environment where connections to the database are being made frequently.

The "connection.pooling" property turns the pooling on or off (on | off). For example:

connection.pooling=on

The "connection.max_pool_size" property controls the maximum number of open connections in the pool. The value -1 is treated as unlimited and 0 is equivalent to turning the pooling off. For example:

connection.max_pool_size=50

The "connection.max_reallocations" property controls the number of times the connection is reallocated from the pool before being closed. The value -1 is treated as unlimited and 0 is equivalent to turning the pooling off. For example:

connection.max_reallocations=-1

Garbage Collection

The following properties enable turning the explicit garbage collection. This is useful in a multi-CPU system where the implicit garbage collector may not be called efficiently.

  • The "garbage_collect.interval" property sets the number of jobs that are run before the explicit garbage collector is run. A value of zero or less turns the feature off. For example:

    garbage_collect.interval=100
    
  • The "garbage_collect.on_idle" property controls the explicit garbage collection when the Control Center is idle or has no active jobs. The valid values are 'true' or 'false'. For example:

    garbage_collect.on_idle=true
    
  • The "garbage_collect.limit" property configures the explicit garbage collector when the used memory percentage rises above the specified limit. A value of zero or less turns this feature off. A high value is recommended as a Java VM tends to optimize its memory usage. For example:

    garbage_collect.limit=90
    

Connection Timezone

This property controls the setting of the Control Center connection time zone. The settings of the time zone is required to support TIMESTAMP WITH LOCAL TIMEZONE calculations. This property is necessary when the default behaviuor does work as required. If not set the default behaviour to SERVICE.

connection.timezone=NONE

The property supports the following keyword elements:

  • SERVICE

  • DATABASE

  • NONE

where, SERVICE uses the time zone of the Java VM that is running the Control Center service. This can be overridden by added the -Duser.timezone JAVA VM argument in the run_service script. If you enter a time zone that is not known to the JVM, then the JVM picks a default time zone like +02:00 or Windows can result in GMT+02:00, not +02:00 or Europe/Paris. An optimization also removes the GMT prefix, where, DATABASE uses the time zone offset of the database.

NONE, does not initialize the session with a time zone. This causes TIMESTAMP WITH LOCAL TIMEZONE calculations to fail.

The property can also be set with an Oracle Database time zone or offset. For example:

connection.timezone=+02:00

JVM Timezone

This property controls the setting of the Control Center JVM time zone. The settings of the time zone is required to support TIMESTAMP WITH LOCAL TIMEZONE calculations. This property is necessary when the default behavior works as required, else set the time zone as retrieved from the host operating system. The setting of this property is equivalent to adding -Duser.timezone to the JVM argument list. If both are set then these values are taken in preference.

user.timezone=GMT

or

properties.JVM.0.System.user.timezone=GMT

Connection OCI Fix

This property controls whether a dummy OCI connection is made before any Thin JDBC connection. This is necessary to ensure that the correct OCI shared libraries are loaded to resolve an issue where a Discoverer deployment loads a set of OCI shared libraries that are incompatible with a later use of Change Management.

The "connection.oci_fix" property turns the OCI fix on or off (on | off). For Example:

connection.oci_fix=on

JVM Properties

Any properties prefixed by "properties.JVM.0.System." has the prefix removed and is added into the JVM's System properties. This is equivalent to adding properties using the -D directive to the JVM's command line.

  • properties.JVM.0.System.http.proxyHost=proxy.oracle.com

  • properties.JVM.0.System.http.proxyPort=80

  • properties.JVM.0.System.http.nonProxyHosts=*.oracle.com

  • properties.JVM.0.System.user.language=fr

  • properties.JVM.0.System.user.region=FR

Runtime Logging

Runtime logging properties controls the runtime logging files that are placed by Oracle Warehouse Builder.

  • property.RuntimePlatform.0.max_number_logfiles=99999

  • property.RuntimePlatform.0.logfile_max_size=0

  • property.RuntimePlatform.0.exceptions=%RTHOME%/owb/log/OWBSYS.log

  • property.RuntimePlatform.0.messages=%RTHOME%/owb/log/OWBSYS.log

FTP, Shell and SQLPlus operator are disabled by default.

  • property.RuntimePlatform.0.NativeExecution.FTP.security_constraint = DISABLED

  • property.RuntimePlatform.0.NativeExecution.Shell.security_constraint = DISABLED

  • property.RuntimePlatform.0.NativeExecution.SQLPlus.security_constraint = DISABLED

  • property.RuntimePlatform.0.NativeExecution.OMBPlus.security_constraint = DISABLED

PKcjMPK'A OEBPS/toc.ncxA Oracle® Warehouse Builder Concepts, 11g Release 2 (11.2) Cover Table of Contents List of Figures List of Tables Oracle Warehouse Builder Concepts, 11g Release 2 (11.2) Preface What's New in Oracle Warehouse Builder Introduction to Oracle Warehouse Builder User Interface Tour Data Access and Movement Data Objects Data Transformation Dependency and Change Management Data Quality Management Deployment and Execution Scripting and Automation Oracle Warehouse Builder Design Center and Runtime Preferences Object Editors Glossary Index Copyright PKPK'AOEBPS/content.opf&* Oracle® Warehouse Builder Concepts, 11g Release 2 (11.2) en-US E10581-04 Oracle Corporation Oracle Corporation Oracle® Warehouse Builder Concepts, 11g Release 2 (11.2) 2011-09-21T18:09:15Z Provides an introduction to the benefits of using Oracle Warehouse Builder and its architecture and components. It also includes quick start steps, a user interface tour, and provides information about OWB preferences and OWB editors and wizards. PKoEc+*&*PK'A OEBPS/lof.htm 4 List of Figures PKno PK'AOEBPS/dcommon/prodbig.gif GIF87a!!!)))111BBBZZZsss{{ZRRcZZ!!1!91)JB9B9)kkcJJB991ssc絽Zcc!!{祽BZc!9B!c{!)c{9{Z{{cZB1)sJk{{Z{kBsZJ91)Z{!{BcsRsBc{9ZZk甽kBkR!BZ9c)JJc{!))BZks{BcR{JsBk9k)Zck!!BZ1k!ZcRBZcZJkBk1Z9c!R!c9kZRZRBZ9{99!R1{99R{1!1)c1J)1B!BJRkk{ƽ絵ތkk絵RRs{{{{JJsssBBkkk!!9ss{{ZZssccJJZZRRccRRZZ))cBBJJ99JJ!!c11991199Z11!c!!))Z!!!1BRck{)!cJBkZRZ,HP)XRÇEZ֬4jJ0 @ "8pYҴESY3CƊ@*U:lY0_0#  5tX1E: C_xޘeKTV%ȣOΏ9??:a"\fSrğjAsKJ:nOzO=}E1-I)3(QEQEQEQEQEQEQE֝Hza<["2"pO#f8M[RL(,?g93QSZ uy"lx4h`O!LŏʨXZvq& c՚]+: ǵ@+J]tQ]~[[eϸ (]6A&>ܫ~+כzmZ^(<57KsHf妬Ϧmnẁ&F!:-`b\/(tF*Bֳ ~V{WxxfCnMvF=;5_,6%S>}cQQjsOO5=)Ot [W9 /{^tyNg#ЄGsֿ1-4ooTZ?K Gc+oyڙoNuh^iSo5{\ܹ3Yos}$.nQ-~n,-zr~-|K4R"8a{]^;I<ȤL5"EԤP7_j>OoK;*U.at*K[fym3ii^#wcC'IIkIp$󿉵|CtĈpW¹l{9>⪦׺*ͯj.LfGߍԁw] |WW18>w.ӯ! VӃ :#1~ +މ=;5c__b@W@ +^]ևՃ7 n&g2I8Lw7uҭ$"&"b eZ":8)D'%{}5{; w]iu;_dLʳ4R-,2H6>½HLKܹR ~foZKZ࿷1[oZ7׫Z7R¢?«'y?A}C_iG5s_~^ J5?œ tp]X/c'r%eܺA|4ծ-Ե+ْe1M38Ǯ `|Kյ OVڅu;"d56, X5kYR<̭CiطXԮ];Oy)OcWj֩}=܅s۸QZ*<~%뺃ȶp f~Bðzb\ݳzW*y{=[ C/Ak oXCkt_s}{'y?AmCjޓ{ WRV7r. g~Q"7&͹+c<=,dJ1V߁=T)TR՜*N4 ^Bڥ%B+=@fE5ka}ędܤFH^i1k\Sgdk> ֤aOM\_\T)8靠㡮3ģR: jj,pk/K!t,=ϯZ6(((((((49 xn_kLk&f9sK`zx{{y8H 8b4>ÇНE|7v(z/]k7IxM}8!ycZRQ pKVr(RPEr?^}'ðh{x+ՀLW154cK@Ng C)rr9+c:׹b Жf*s^ fKS7^} *{zq_@8# pF~ [VPe(nw0MW=3#kȵz晨cy PpG#W:%drMh]3HH<\]ԁ|_W HHҡb}P>k {ZErxMX@8C&qskLۙOnO^sCk7ql2XCw5VG.S~H8=(s1~cV5z %v|U2QF=NoW]ո?<`~׮}=ӬfԵ,=;"~Iy7K#g{ñJ?5$y` zz@-~m7mG宝Gٱ>G&K#]؃y1$$t>wqjstX.b̐{Wej)Dxfc:8)=$y|L`xV8ߙ~E)HkwW$J0uʟk>6Sgp~;4֌W+חc"=|ř9bc5> *rg {~cj1rnI#G|8v4wĿhFb><^ pJLm[Dl1;Vx5IZ:1*p)إ1ZbAK(1ׅ|S&5{^ KG^5r>;X׻K^? s fk^8O/"J)3K]N)iL?5!ƾq:G_=X- i,vi2N3 |03Qas ! 7}kZU781M,->e;@Qz T(GK(ah(((((((Y[×j2F}o־oYYq $+]%$ v^rϭ`nax,ZEuWSܽ,g%~"MrsrY~Ҿ"Fت;8{ѰxYEfP^;WPwqbB:c?zp<7;SBfZ)dϛ; 7s^>}⍱x?Bix^#hf,*P9S{w[]GF?1Z_nG~]kk)9Sc5Ո<<6J-ϛ}xUi>ux#ţc'{ᛲq?Oo?x&mѱ'#^t)ϲbb0 F«kIVmVsv@}kҡ!ˍUTtxO̧]ORb|2yԵk܊{sPIc_?ħ:Ig)=Z~' "\M2VSSMyLsl⺿U~"C7\hz_ Rs$~? TAi<lO*>U}+'f>7_K N s8g1^CeКÿE ;{+Y\ O5|Y{/o+ LVcO;7Zx-Ek&dpzbӱ+TaB0gNy׭ 3^c T\$⫫?F33?t._Q~Nln:U/Ceb1-im WʸQM+VpafR3d׫é|Aү-q*I P7:y&]hX^Fbtpܩ?|Wu󭏤ʫxJ3ߴm"(uqA}j.+?S wV ~ [B&<^U?rϜ_OH\'.;|.%pw/ZZG'1j(#0UT` Wzw}>_*9m>󑓀F?EL3"zpubzΕ$+0܉&3zڶ+jyr1QE ( ( ( ( ( ( ( (UIdC0EZm+]Y6^![ ԯsmܶ捆?+me+ZE29)B[;я*wGxsK7;5w)}gH~.Ɣx?X\ߚ}A@tQ(:ͧ|Iq(CT?v[sKG+*רqҍck <#Ljα5݈`8cXP6T5i.K!xX*p&ќZǓϘ7 *oƽ:wlຈ:Q5yIEA/2*2jAҐe}k%K$N9R2?7ýKMV!{W9\PA+c4w` Wx=Ze\X{}yXI Ү!aOÎ{]Qx)#D@9E:*NJ}b|Z>_k7:d$z >&Vv󃏽WlR:RqJfGإd9Tm(ҝEtO}1O[xxEYt8,3v bFF )ǙrPNE8=O#V*Cc𹾾&l&cmCh<.P{ʦ&ۣY+Gxs~k5$> ӥPquŽўZt~Tl>Q.g> %k#ú:Kn'&{[yWQGqF}AЅ׮/}<;VYZa$wQg!$;_ $NKS}“_{MY|w7G!"\JtRy+贾d|o/;5jz_6fHwk<ѰJ#]kAȎ J =YNu%dxRwwbEQEQEQEQEQEQEQEQEQE'fLQZ(1F)hQ@X1KEQE-Q@ 1KE3h=iPb(((1GjZ(-ʹRPbR@ 1KE7`bڒyS0(-&)P+ ڎԴP11F)h&:LRmQ@Q@Š(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((|I׼5{JĶzlN&]uY[6v8cA9@>5ec$vGNIg;bC$z^c事H?.ld4Q\?_x Qv\]Mv''beY'#ssږ;J5e[ue # 2s87(((((Y?#dHcuGG Onyw=Ԟ~,y8€;( ( ( ( ( ( ( ( +0|G>cdX?Z;cgme՟ ?4?@Ex?|AbLoR>j[Tڧ*88FPEPEY['qݞrs^G]/:No,`gm5üqE]N cp(?uVOK~:cI>}oi7yv<>vXrp@7e~_HAc#SYE#&nU"n.V,a;Hr2~|b>@XtSmo1_G%/ {%\Fw"#)"k? A_ VZCy_h bT+&nt='RYѬuKu`5]CpH Oxk?lc|;v{~m'z/$:DA rxu -e< +_:ƝF{X]!¡h(7CH>$रӴ{8Eݲp(;'j>_4x] WRizAql̡v0GZI:Li6E 8!6rPGGx<|㛋KPB0, CCe ss&h"xgkxV_.b\ۜ:cz$:Du Wƾ5M[KhkGl`6u8lO$](0$(GyYT:NQڀ#֛儼IJ$A&ԫeOxmCۿGX~k_ٚKydxA6* 9s@w4Oɠx}/@ڵ5RWp;p˝D3s!,k?$_N}gB^Z協z`*9 G|u;1;l Qb';n>2oCS;={ B`?񷈴O4C/<~FPW?㯌_Xmr( zq֏p +z6y:e>op1R* /Jހ;?.<ECSԼķ)Msks? ~ jVqj[ = #,ĝz( : >0;m.6OM $BOo`]XY[8<]ymjsq'ʭlny$_ķlj$(keo{5|M̭oFgK\-6GyܬpX6.^2>m½sv7gt; ]>p;]cP#J=A-w{LGtG+ʝl;pq_vj#9L8t;X09Gx7Oϯyn_n <oF)OcO3Ҷ>5Yl;ϲ]I$,RI1HÂ:?]$O*Z \j~ $.y}nvKI=+߿+< $_ K^?Nƿi@SKn˫^>82ς098ğiɬ>t[ˬ0\lL%@ās3㯃4ط3m/r) 3Ҿ>*k^+0nЀyᵷX$/$0UE$xs^L xjbNr QLEA=HqG< 5Y"r!dbLÎIwOߌ A(Gfq892 mBr xOOllinu1)V;U1$` I8O ;io h:\#̬$ͼ/$6GEC/$Pik[q]qGjJ2:*N7c$^Wo.#Now%.N1>'^?M|q1z94!'9P:WP2Sp{ mµizk-^h *ŽqTۮOTik Z,wZ;$bnF 4M i:AHKKHF(Á2sxƳ7~)xk"H\$ A?A|x56;āK20pA#88[}d[7m`Õ @<4MN \[bǖ$I<6!J#lm?e~eWP̛܍4G# kz&=}'VE|ȷn*Ax4h& 'I=ŏ,ILO,!#v*zu@ j.]v z6ҿr a@ A9`AׄfIsƏR|N@.y^S Y1#`2(w'΢'D<%?l>xmȯ<5C"{gFgn9x@ ׳cSc/Q%ΤU{|/k:nq1"K6GaXزp nxz.,׮KĕB.PTw8d51߆_Ηi|f0lnN*AzW' K ;q(<ic~skӤO<3ؑ i *q )_Fx_:om )2vԑ0_ {5[z} ;XV%-2B3}\?FoNKȼCckeU3W QsGjz\:ג1Y8$]~ArAlt9׾?BK9HȂY!At9֮h 돴iYne9RB'9\t:(>V^ ߃kcGOgw?=0v_JI|<{'n?r 躟)u U V0$V+̡Byׇ<+G7P^a;H ,W #[yAtzLpGI\ {溊S/?h/7GQ1C6Qq!g'4E}0yp/yr90ksYaA{j;&L$OUl#<~O@&p'I;={:7ik]fkY-$e#La #+iEK^O/?'I9\qYI<)?@HRW*/wM;>[|3g`Yïv6w$403o 2(τ~9_\j i 61X Bʺyv-ϯ*ъFG{gRK` =|+xZd.xA;\a;FpFqrнr:O H4Apm挠vJ rlw|+4'MѭK,`g.±)l3+/_ _NΓysv߹O~QEQEQEQEQEQEQEQEQEQEQEQEy~B_J5>Dqء݁;l8U-VR1R=B]zŇN\t]wo/ 6)&S8.̓x prx#wwۿ Ҽ+۴qy~~n!g/ N(ǝEPP.FX6y +:M "Z3XL:Tu w뵶+Gm1޼C?_dQoΌ i\rW-sWGG<+_>+=rHTK;8bj϶ to^d|=ߺF.p>R1b6נ|-ѬOViGy37ֹ unNY2KXCi_Z26=7_t4g;r5_5}RI]aYUƨ[Qtr74i// i;F+)`P9=v:k4-Oof?nݻf 8q Ю?➳y|3%$ce`{(~3MyɠxE]ԑۯ̣prɖ*\Ppr;|',w4\ 7M6L?2GQ$a5|-]tV]NVhaXмf|u>\^i:䖷Q<3'܌a.FA=(<9z֚K,be e#0#8$s^?>5-*Aij93TGbsEĚwL,FG1^Di{ִk=:uy,Rd˴Y wO ŭWN|bDy,dHDf \' gzχ?t߈Is VXj[i%W  JC?_dQoΌ i\rW-sPAxR~_],Zc 1K;ºEf {(b3.ٕPzMj~O4 @' *E-e5eA{n[Jc9ᘎ=2B.8M#Pn%&$锞1mQCcT4=3WϷҼtˢ>Ϝ6g8$XB@w,"@0w?#㑓HeGķ񇆣nESؼb<̖W@5蕟k_t/ཱུl vêʜEhPEP\o xsm'A ]ǔeݜG'+>iO_@W/? ԼgY][T/[+]'=Ű?63x![{x#5 Wu?8_ۏ}YgW}4ltU8g@ [R-@c..%v aӸ?~?ǁ!i.nQO$|Pv%F䜊/>>͡OgxbHWo&O/ݛ|mԯ#~GDe喼LiKv—al ]?$O*Z<m[HLkifrKvx`!gIW, ;J|мGOkfQ?-2Uʝ20*w1cXsUռ5 I++ >#PG<3<%U`J6oC )择,YH! #AWO^Ӑ =ȮjX|'HQ<+p,bwFtʤ u POmֹgσQhcdw9gk6rIֱW^Ѭ5mbF;d("Kd8 ' s=<EGV'ζB'e؏WUr+KVtku5 K,S,J[ g{LRO5uv(r3$c/[P}BL&Ue = H!A<7V\[J6 dGjJдOiO}+o7n.d82kB (+վxQom'k6p\\I,vщv¬Ą qt(iO_@W}ac%ſv33^Լ/Mex]U s*O_"_\_AɹH˵$=¼O&֑2X\쓝a8 #_e埊Ϧ[*=Jģ9yy*w C:Ȱ^q`8$gׂ|A[`4x2v.Z5)]#+9$e{ttmKi +xi,U(' z Y4iej|n GVl' 9hq,IiΈVX 7H^@>W-CKK0XxwD!)wuq)HIB+/m,pk~O(mb*6s@V3up^ƿ|!! nC\8Gw?±kGo+'Y }ae 0+iEK@O'UZ~<-:qStvc9#qEW֥H.FBER 3+>/|M g^<4f୽څ=ȰKܺ7s)oI Lr o)~H:h7\< ǖsϣ8o "rFTa?)>611X7QixSoT p[.n<Y4iej|n GVl' 9hq,IiΈVX 7H^@>W-CKK0XxwD!)wuq)HIB+/m,pk~O(mb*6s@V3up^ƿ|!! nC\8G_8G7ݍޓpM>@v0m} k/ԼE,^l m4Q4@~BNs61 (qBKY/$o- =:W>{[^Oy]d@+Qn ( h> _C_qK(Btid|QEr|P$kyCi5TC=kvn#]B.D;ߜtǘFy[R-@c..%v aӿi:l:6c۴v*p=c³xFKMfL+5!k+y aʚ? 9?kw5亚F7Sna*(qNyV?-z?xkV)kO<5`_PФP.?hy(pUs06q\3OjiO@@QEWc?2]Yk'-=̄@mH 8(GxK{xtM.#.`Xlq*8 7bpT/0@,-n뺄E-2wĄ$Sv0 焦կ~[gʙ#,Iby<r(v-*k͂kMȤw7d`9\7~Ciq$fIw&*6|rNqS~{I/2~-9i9uH.湊o $\2n˨%sH<0|nmbKtI7XFf;  K ;q+GO~5>3w3ztL Y2;Bws:7,%t[`r]upZ9OqןZÚGtu ĩV TpHMy?¯>%Ww2Gyd'iB9:WQ {4&'adrpmPUHu$/ZٳM{}w v_ʲ6>QNN9raSG 9pH?GZUevv(I9$I$^?^|e}3LdQ$I$I$<-V%Εe6O]0WL[hz4QEx_-.jۺwU1D4JgF-E;@u #8>>oRҠ6&܊Op IKSvF w$~M6}m~>$)P2O~zx$O*ZkVP^N@G˨lw^)]/4htSzl0Ep ַ ˃vÞޔ~yZ襮OI>65o6t,U('gWP_?̿4֮ۧV~2ìEOFOKY%Pc%pz>_7cf_@G\߂|W}M/4M?P jŵp,:z4o}9g.?9PgiaGs\!6O2LrXy_,¶qH5o Aݴtw G+cʲ8Œ.t xT>9ɒ;ngqD6B  _Ho cG gvGz+?>Z2y^$bp28yF3^' ZF6A\A1PKC&o|>8ެl$"JXmLy`((((((((((((((((((((((((((((+Ҿh'o|Y\Cw}}z4/n pxŠ((((((cG֣\W7 |H]6``0rOaEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEPKIKsFsPK'AOEBPS/dcommon/contbig.gif`GIF87a!!!111999BBBJJJRRRccckkksss{{{skk{{ZRRRJJƽ{sZRJRJB91)kcZB9)sskZRJ1޽ƽ{{ssskkkcƵZZRccZRRJJJB{BB9991ssckkZccR))!RRB!!JJ1))99!11ƌ)1R)k֔)s1RZJR{BJs9R1J!11J1J9k{csZk!1J!)cBR9J1B)91B!cRs{!)s!){1B!k!s!{ksksckckZc9B)1!)!)BJ9B1919έƌ!!)JJcZZ{!!!1RR{JJsBBkJJ{!!9BB{1!!J9)!!Z!!c1!!kR!!s9Z!BckJs)19!!c!!ZRZ,H rrxB(Kh" DժuICiи@S z$G3TTʖ&7!f b`D 0!A  k,>SO[!\ *_t  Exr%*_}!#U #4 & ֩3|b]L ]t b+Da&R_2lEٱZ`aC)/яmvUkS r(-iPE Vv_{z GLt\2s!F A#葡JY r|AA,hB}q|B`du }00(䡆<pb,G+oB C0p/x$…– ]7 @2HFc ) @AD \0 LHG',(A` `@SC)_" PH`}Y+_|1.K8pAKMA @?3҄$[JPA)+NH I ,@8G0/@R T,`pF8Ѓ)$^$ DDTDlA@ s;PKPK'AOEBPS/dcommon/darbbook.cssPKPK'A!OEBPS/dcommon/O_signature_clr.JPG"(JFIF``C    $.' ",#(7),01444'9=82<.342C  2!!22222222222222222222222222222222222222222222222222" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (?O '~MQ$Vz;OlJi8L%\]UFjޙ%ԯS;rA]5ފ<׈]j7Ouyq$z'TQuw7Ŀ KX߁M2=S'TQt?.5w'97;~pq=" ~k?`'9q6 E|yayM^Om'fkC&<5x' ?A?Zx'jß={=SßM gVC.5+Hd֪xc^)Җufz{Cީ|D Vkznq|+Xa+{50rx{|OG.OϞ~f/ xxX[2H )c+#jpUOZYX\=SG ߨC|K@;_߆'e?LT?]:?>w ڔ`D^So~xo[Ӡ3i7B:Q8 Vc-ďoi:FM292~y_*_闱YN\Fr=xZ3鳎OwW_QEzW~c]REeaSM}}Hӏ4&.E]u=gMѠ+mF`rNn$w9gMa꺢nTuhf2Xv>އ a(Û6߭?<=>z'TQuw7Ŀ KX߁M2=S'TQt?.5Kko\.8S$TOX߀Gw?Zx汴X)C7~.i6(Щ=+4{mGӭ¸-]&'t_kV*I<1)4thtIsqpQJ+> \m^[aJ5)ny:4o&QEnyAEPEEss 72,PDۢ׃K W{Wjr+wگ iM/;pd?~&?@;7E4gv8 $l'z'TQuw7Ŀ Gֱ=ɿ&G?. iR(5W*$|?w᫼gkmIbHe/_t>tg%y.l}N5[]+Mk0ĠeHdPrsst'UiC,y8`V%9ZIia|ܪvi מYG,o}+kk{YbyIeb*sAtի82zWoEK5z*o-eo;n(P u-I)4Š(HQEQEQEQEhz(X/Đ?}Bk˩ ݏrk0]4>8XzV? }6$}d^F>nU K ?Bտk_9׾x~w'ߞ  uDŽtL ؈5c-E/"|_Oo.IH쐍=i*Iw5(ںw?t5s.)+tQ2dUt5Vĺ.jZ"@IRrZƅY4ߡ_;}ų(KyQf1Aǵt?sZg+?F5_oQR&Dg߿]6FuRD u>ڿxl7?IT8'shj^=.=J1rj1Wl$얲cPx;E,p$֟ˏkw qg"45(ǛkV/=+ũ)bYl~K#˝J_כ5&\F'I#8/|wʾ_Xj Q:os^T1.M_|TO.;?_  jF?g N 8nA2F%i =qW,G=5OU u8]Rq?wr'˻S+۾.ܼ 87Q^elo/T*?L|ۚ<%<,/v_OKs B5f/29n0=zqQq(ª=VX@*J(э(f5qJN_EVǞQEOuoѕOuoa5}gO?:߂8Wא|cڽ~]N&O( (<]>͠@VQ=^~U ̴m&\խ5i:}|}r~9՝f}_>'vVֲ$~^f30^in{\_.O F8to}?${φ|#x^#^n~w=~k~?'KRtO.㌡h![3Zu*ٷճ(ԟ]z_/W1(ԟ]v~g|Yq<ז0 ; b8֮s,w9\?uEyStKaª@\,)) (!EPEPEPEPEPzѧts{v>C/"N6`d*J2gGӧWqBq_1ZuΓ\X]r?=Ey88Mp&pKtO-"wR2 K^-Z< \c>V0^@O7x2WFjs<׻kZ(<Т(OFw/6$1[:ޯԯ#q~4|,LVPem=@=YLUxӃV}AUbcUB.Ds5*kٸAeG>PJxt͝ b88?*$~@ׯD VkraiJs}Q.20x&mXξ,Z]“A-J#`+-E/"<]\a'tZGy.(|lދ~gMK OZdxDŽU9T6ϯ^<Ϡt5CZ]].t۫S=s`ڳ%8iVK:nqe+#<.T6U>zWoy3^I {F?J~=G}k)K$$;$de8*G Uӟ4Ocºw}|]4=ݣ\x$ʠms?q^ipw\"ȿPs^Z Q_0GڼU.t}ROM[G#]8wٞ ӫ87}Cgw vHȩBM55vof =A_٭`Ygx[6 P,5}>蚊(0(+?>+?> k|TuXq6_ +szk :u_ Z߶Ak_U}Jc2u/1[_»ݸG41-bሬ۴}}Eȹפ_c?5gi @cL\L<68hF_Ih>X4K7UТ sMj =J7CKo>Օ5s:߀t ~ηaٿ?|gdL8+gG%o?x`دOqȱwc¨&TW_V_aI=dpG!wu۞սZ1yL50$(l3(:~'ַo A}a3N*[0ǭ HKQV}G@֜$ 9of$ArNqUOgË05#m?D)^_h//5_/<?4}Jį+GkpG4"$ r| >S4Ђ"S 1%R:ȝ 8;PKPz PK'AOEBPS/dcommon/feedback.gif7GIF89a'%(hp|fdx?AN5:dfeDGHɾTdQc`g*6DC\?ؘ||{;=E6JUՄfeA= >@,4`H.|`a (Q 9:&[|ځ,4p Y&BDb,!2@, $wPA'ܠǃ@CO~/d.`I @8ArHx9H75j L 3B/` P#qD*s 3A:3,H70P,R@ p!(F oԥ D;"0 ,6QBRɄHhI@@VDLCk8@NBBL2&pClA?DAk%$`I2 #Q+l7 "=&dL&PRSLIP)PɼirqМ'N8[_}w;PK-PK'AOEBPS/dcommon/booklist.gifGIF89a1޵֥΄kZ{Jk1Rs!BZ)B),@I9Z͓Ca % Dz8Ȁ0FZЌ0P !x8!eL8aWȠFD(~@p+rMS|ӛR$ v "Z:]ZJJEc{*=AP  BiA ']j4$*   & 9q sMiO?jQ = , YFg4.778c&$c%9;PKː5PK'AOEBPS/dcommon/cpyr.htm1 Oracle Legal Notices

Oracle Legal Notices

Copyright Notice

Copyright © 1994-2012, Oracle and/or its affiliates. All rights reserved.

Trademark Notice

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

License Restrictions Warranty/Consequential Damages Disclaimer

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

Warranty Disclaimer

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

Restricted Rights Notice

If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable:

U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007). Oracle America, Inc., 500 Oracle Parkway, Redwood City, CA 94065.

Hazardous Applications Notice

This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

Third-Party Content, Products, and Services Disclaimer

This software or hardware and documentation may provide access to or information on content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services.

Alpha and Beta Draft Documentation Notice

If this document is in prerelease status:

This documentation is in prerelease status and is intended for demonstration and preliminary use only. It may not be specific to the hardware on which you are using the software. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to this documentation and will not be responsible for any loss, costs, or damages incurred due to the use of this documentation.

Oracle Logo

PKN61PK'AOEBPS/dcommon/masterix.gif.GIF89a1ޜΌscJk1Rs!Bc1J),@IS@0"1 Ѿb$b08PbL,acr B@(fDn Jx11+\%1 p { display: none; } /* Class Selectors */ .ProductTitle { font-family: sans-serif; } .BookTitle { font-family: sans-serif; } .VersionNumber { font-family: sans-serif; } .PrintDate { font-family: sans-serif; font-size: small; } .PartNumber { font-family: sans-serif; font-size: small; } PKeӺ1,PK'AOEBPS/dcommon/larrow.gif#GIF87a絵ƌֵƽ{{ss֜ƔZZ{{{{ZZssZZccJJJJRRBBJJJJ991111))!!{,@pH,Ȥrl:ШtpHc`  өb[.64ꑈ53=Z]'yuLG*)g^!8C?-6(29K"Ĩ0Яl;U+K9^u2,@@ (\Ȱ Ë $P`lj 8x I$4H *(@͉0dа8tA  DсSP v"TUH PhP"Y1bxDǕ̧_=$I /& .)+ 60D)bB~=0#'& *D+l1MG CL1&+D`.1qVG ( "D2QL,p.;u. |r$p+5qBNl<TzB"\9e0u )@D,¹ 2@C~KU 'L6a9 /;<`P!D#Tal6XTYhn[p]݅ 7}B a&AƮe{EɲƮiEp#G}D#xTIzGFǂEc^q}) Y# (tۮNeGL*@/%UB:&k0{ &SdDnBQ^("@q #` @1B4i@ aNȅ@[\B >e007V[N(vpyFe Gb/&|aHZj@""~ӎ)t ? $ EQ.սJ$C,l]A `8A o B C?8cyA @Nz|`:`~7-G|yQ AqA6OzPbZ`>~#8=./edGA2nrBYR@ W h'j4p'!k 00 MT RNF6̙ m` (7%ꑀ;PKl-OJPK'AOEBPS/dcommon/index.gifGIF89a1޵ΥΥ{sc{BZs,@IM" AD B0 3.R~[D"0, ]ШpRNC  /& H&[%7TM/`vS+-+ q D go@" 4o'Uxcxcc&k/ qp zUm(UHDDJBGMԃ;PK(PK'AOEBPS/dcommon/bookbig.gif +GIF89a$!!!)))111999BBBJJJRRRZZZccckkksss{{{skkB991)))!!B11))1!JB9B9!!cZ9ƭƽssk{ZZRccZRRJJJBBB9c!!ν)1)k{s絽ƌkssֽZccJRRBJJ{9BB)11)99!!))11!!k!JZ!)RcJccBcs)1c)JZ!BR!)BZ)99J!Rk9!c11B)Z{)9Bkc1kB9BZ!Z{9Rs)Jkksk9kB1s1Jk9Rƥc{k9s)Z{1k91)s1Rk)Jc1J!))BZ!1k{csc{)19B!)Bcsc{ksc{kZs!RkJkJkքc{9Zks{ck9R)Bks9R9R1J!)Z1B!)c)9)99BR19kksBBJcc{ccBBZ))9kk!!199c11ZBB{9!!R!!Z!!c))!!kR!!s!!BcksRZ1c9B)R91c1)Z!R9B9k1)RcZ{)!1B9JB9B)!)J9B!& Imported from GIF image: bookbig.gif,$!!!)))111999BBBJJJRRRZZZccckkksss{{{skkB991)))!!B11))1!JB9B9!!cZ9ƭƽssk{ZZRccZRRJJJBBB9c!!ν)1)k{s絽ƌkssֽZccJRRBJJ{9BB)11)99!!))11!!k!JZ!)RcJccBcs)1c)JZ!BR!)BZ)99J!Rk9!c11B)Z{)9Bkc1kB9BZ!Z{9Rs)Jkksk9kB1s1Jk9Rƥc{k9s)Z{1k91)s1Rk)Jc1J!))BZ!1k{csc{)19B!)Bcsc{ksc{kZs!RkJkJkքc{9Zks{ck9R)Bks9R9R1J!)Z1B!)c)9)99BR19kksBBJcc{ccBBZ))9kk!!199c11ZBB{9!!R!!Z!!c))!!kR!!s!!BcksRZ1c9B)R91c1)Z!R9B9k1)RcZ{)!1B9JB9B)!)J9BH`\Ȑ:pظа"A6DBH,V@Dڹ'G"v Æ ܥ;n;!;>xAܽ[G.\rQC wr}BŊQ A9ᾑ#5Y0VȒj0l-GqF>ZpM rb ;=.ސW-WѻWo ha!}~ْ ; t 53 :\ 4PcD,0 4*_l0K3-`l.j!c Aa|2L4/1C`@@md;(H*80L0L(h*҇҆o#N84pC (xO@ A)J6rVlF r  fry†$r_pl5xhA+@A=F rGU a 1х4s&H Bdzt x#H%Rr (Ѐ7P`#Rщ'x" #0`@~i `HA'Tk?3!$`-A@1l"P LhʖRG&8A`0DcBH sq@AXB4@&yQhPAppxCQ(rBW00@DP1E?@lP1%T` 0 WB~nQ@;PKGC PK'AOEBPS/dcommon/rarrow.gif/GIF87a絵ƌֵƽ{{ss֜ƔZZ{{{{ZZssZZccJJJJRRBBJJJJ991111))!!{,@pH,Ȥrl:ШLlԸ NCqWEd)#34vwwpN|0yhX!'+-[F 'n5 H $/14w3% C .90" qF 7&E "D mnB|,c96) I @0BW{ᢦdN p!5"D`0 T 0-]ʜ$;PKJV^PK'AOEBPS/dcommon/mix.gifkGIF89aZZZBBBJJJkkk999sss!!!111cccֽ{{{RRR)))猌ƭ{s{sks!,@@pH,B$ 8 t:<8 *'ntPP DQ@rIBJLNPTVEMOQUWfj^!  hhG H  kCúk_a Ǥ^ h`B BeH mm  #F` I lpǎ,p B J\Y!T\(dǏ!Gdˆ R53ټ R;iʲ)G=@-xn.4Y BuU(*BL0PX v`[D! | >!/;xP` (Jj"M6 ;PK枰pkPK'AOEBPS/dcommon/doccd_epub.jsM /* Copyright 2006, 2012, Oracle and/or its affiliates. All rights reserved. Author: Robert Crews Version: 2012.3.17 */ function addLoadEvent(func) { var oldOnload = window.onload; if (typeof(window.onload) != "function") window.onload = func; else window.onload = function() { oldOnload(); func(); } } function compactLists() { var lists = []; var ul = document.getElementsByTagName("ul"); for (var i = 0; i < ul.length; i++) lists.push(ul[i]); var ol = document.getElementsByTagName("ol"); for (var i = 0; i < ol.length; i++) lists.push(ol[i]); for (var i = 0; i < lists.length; i++) { var collapsible = true, c = []; var li = lists[i].getElementsByTagName("li"); for (var j = 0; j < li.length; j++) { var p = li[j].getElementsByTagName("p"); if (p.length > 1) collapsible = false; for (var k = 0; k < p.length; k++) { if ( getTextContent(p[k]).split(" ").length > 12 ) collapsible = false; c.push(p[k]); } } if (collapsible) { for (var j = 0; j < c.length; j++) { c[j].style.margin = "0"; } } } function getTextContent(e) { if (e.textContent) return e.textContent; if (e.innerText) return e.innerText; } } addLoadEvent(compactLists); function processIndex() { try { if (!/\/index.htm(?:|#.*)$/.test(window.location.href)) return false; } catch(e) {} var shortcut = []; lastPrefix = ""; var dd = document.getElementsByTagName("dd"); for (var i = 0; i < dd.length; i++) { if (dd[i].className != 'l1ix') continue; var prefix = getTextContent(dd[i]).substring(0, 2).toUpperCase(); if (!prefix.match(/^([A-Z0-9]{2})/)) continue; if (prefix == lastPrefix) continue; dd[i].id = prefix; var s = document.createElement("a"); s.href = "#" + prefix; s.appendChild(document.createTextNode(prefix)); shortcut.push(s); lastPrefix = prefix; } var h2 = document.getElementsByTagName("h2"); for (var i = 0; i < h2.length; i++) { var nav = document.createElement("div"); nav.style.position = "relative"; nav.style.top = "-1.5ex"; nav.style.left = "1.5em"; nav.style.width = "90%"; while (shortcut[0] && shortcut[0].toString().charAt(shortcut[0].toString().length - 2) == getTextContent(h2[i])) { nav.appendChild(shortcut.shift()); nav.appendChild(document.createTextNode("\u00A0 ")); } h2[i].parentNode.insertBefore(nav, h2[i].nextSibling); } function getTextContent(e) { if (e.textContent) return e.textContent; if (e.innerText) return e.innerText; } } addLoadEvent(processIndex); PKo"nR M PK'AOEBPS/dcommon/toc.gifGIF89a1ΥΥ{c{Z{JkJk1Rk,@IK% 0| eJB,K-1i']Bt9dz0&pZ1o'q(؟dQ=3S SZC8db f&3v2@VPsuk2Gsiw`"IzE%< C !.hC IQ 3o?39T ҍ;PKv I PK'AOEBPS/dcommon/topnav.gifGIF89a1ֽ筽ޭƔkZZk{Bc{,@ ) l)-'KR$&84 SI) XF P8te NRtHPp;Q%Q@'#rR4P fSQ o0MX[) v + `i9gda/&L9i*1$#"%+ ( E' n7Ȇ(,҅(L@(Q$\x 8=6 'נ9tJ&"[Epljt p#ѣHb :f F`A =l|;&9lDP2ncH R `qtp!dȐYH›+?$4mBA9 i@@ ]@ꃤFxAD*^Ŵ#,(ε  $H}F.xf,BD Z;PK1FAPK'AOEBPS/dcommon/bp_layout.css# @charset "utf-8"; /* bp_layout.css Copyright 2007, Oracle and/or its affiliates. All rights reserved. */ body { margin: 0ex; padding: 0ex; } h1 { display: none; } #FOOTER { border-top: #0d4988 solid 10px; background-color: inherit; color: #e4edf3; clear: both; } #FOOTER p { font-size: 80%; margin-top: 0em; margin-left: 1em; } #FOOTER a { background-color: inherit; color: gray; } #LEFTCOLUMN { float: left; width: 50%; } #RIGHTCOLUMN { float: right; width: 50%; clear: right; /* IE hack */ } #LEFTCOLUMN div.portlet { margin-left: 2ex; margin-right: 1ex; } #RIGHTCOLUMN div.portlet { margin-left: 1ex; margin-right: 2ex; } div.portlet { margin: 2ex 1ex; padding-left: 0.5em; padding-right: 0.5em; border: 1px #bcc solid; background-color: #f6f6ff; color: black; } div.portlet h2 { margin-top: 0.5ex; margin-bottom: 0ex; font-size: 110%; } div.portlet p { margin-top: 0ex; } div.portlet ul { list-style-type: none; padding-left: 0em; margin-left: 0em; /* IE Hack */ } div.portlet li { text-align: right; } div.portlet li cite { font-style: normal; float: left; } div.portlet li a { margin: 0px 0.2ex; padding: 0px 0.2ex; font-size: 95%; } #NAME { margin: 0em; padding: 0em; position: relative; top: 0.6ex; left: 10px; width: 80%; } #PRODUCT { font-size: 180%; } #LIBRARY { color: #0b3d73; background: inherit; font-size: 180%; font-family: serif; } #RELEASE { position: absolute; top: 28px; font-size: 80%; font-weight: bold; } #TOOLS { list-style-type: none; position: absolute; top: 1ex; right: 2em; margin: 0em; padding: 0em; background: inherit; color: black; } #TOOLS a { background: inherit; color: black; } #NAV { float: left; width: 96%; margin: 3ex 0em 0ex 0em; padding: 2ex 0em 0ex 4%; /* Avoiding horizontal scroll bars. */ list-style-type: none; background: transparent url(../gifs/nav_bg.gif) repeat-x bottom; } #NAV li { float: left; margin: 0ex 0.1em 0ex 0em; padding: 0ex 0em 0ex 0em; } #NAV li a { display: block; margin: 0em; padding: 3px 0.7em; border-top: 1px solid gray; border-right: 1px solid gray; border-bottom: none; border-left: 1px solid gray; background-color: #a6b3c8; color: #333; } #SUBNAV { float: right; width: 96%; margin: 0ex 0em 0ex 0em; padding: 0.1ex 4% 0.2ex 0em; /* Avoiding horizontal scroll bars. */ list-style-type: none; background-color: #0d4988; color: #e4edf3; } #SUBNAV li { float: right; } #SUBNAV li a { display: block; margin: 0em; padding: 0ex 0.5em; background-color: inherit; color: #e4edf3; } #SIMPLESEARCH { position: absolute; top: 5ex; right: 1em; } #CONTENT { clear: both; } #NAV a:hover, #PORTAL_1 #OVERVIEW a, #PORTAL_2 #OVERVIEW a, #PORTAL_3 #OVERVIEW a, #PORTAL_4 #ADMINISTRATION a, #PORTAL_5 #DEVELOPMENT a, #PORTAL_6 #DEVELOPMENT a, #PORTAL_7 #DEVELOPMENT a, #PORTAL_11 #INSTALLATION a, #PORTAL_15 #ADMINISTRATION a, #PORTAL_16 #ADMINISTRATION a { background-color: #0d4988; color: #e4edf3; padding-bottom: 4px; border-color: gray; } #SUBNAV a:hover, #PORTAL_2 #SEARCH a, #PORTAL_3 #BOOKS a, #PORTAL_6 #WAREHOUSING a, #PORTAL_7 #UNSTRUCTURED a, #PORTAL_15 #INTEGRATION a, #PORTAL_16 #GRID a { position: relative; top: 2px; background-color: white; color: #0a4e89; } PK3( # PK'AOEBPS/dcommon/bookicon.gif:GIF87a!!!)))111999BBBJJJRRRZZZccckkksss{{{ޭ{{ZRRcZZRJJJBB)!!skRB9{sν{skskcZRJ1)!֭ƽ{ZZRccZJJBBB999111)JJ9BB1ZZB!!ﭵBJJ9BB!!))Jk{)1!)BRZJ{BsR!RRJsJ!J{s!JsBkks{RsB{J{c1RBs1ZB{9BJ9JZ!1BJRRs!9R!!9Z9!1)J19JJRk19R1Z)!1B9R1RB!)J!J1R)J119!9J91!9BkksBBJ119BBR!))9!!!JB1JJ!)19BJRZckތ1)1J9B,H*\hp >"p`ƒFF "a"E|ժOC&xCRz OBtX>XE*O>tdqAJ +,WxP!CYpQ HQzDHP)T njJM2ꔀJ2T0d#+I:<жk 'ꤱF AB @@nh Wz' H|-7f\A#yNR5 /PM09u UjćT|q~Yq@&0YZAPa`EzI /$AD Al!AAal 2H@$ PVAB&c*ؠ p @% p-`@b`uBa l&`3Ap8槖X~ vX$Eh`.JhAepA\"Bl, :Hk;PKx[?:PK'AOEBPS/dcommon/conticon.gif^GIF87a!!!)))111999BBBJJJRRRZZZccckkksss{{{ZRR޽{{ssskkkcccZ991ccRZZBBJJZck)19ZcsBJZ19J!k{k)Z1RZs1!B)!J91{k{)J!B!B911)k{cs!1s!9)s!9!B!k)k1c!)Z!R{9BJcckZZcBBJ99B119{{!!)BBRBBZ!))999R99Z!!999c1!9!)19B1)!B9R,  oua\h2SYPa aowwxYi 9SwyyxxyYSd $'^qYȵYvh ч,/?g{н.J5fe{ڶyY#%/}‚e,Z|pAܠ `KYx,ĉ&@iX9|`p ]lR1khٜ'E 6ÅB0J;t X b RP(*MÄ!2cLhPC <0Ⴁ  $4!B 6lHC%<1e H 4p" L`P!/,m*1F`#D0D^!AO@..(``_؅QWK>_*OY0J@pw'tVh;PKp*c^PK'AOEBPS/dcommon/blafdoc.cssL@charset "utf-8"; /* Copyright 2002, 2011, Oracle and/or its affiliates. All rights reserved. Author: Robert Crews Version: 2011.10.7 */ body { font-family: Tahoma, sans-serif; /* line-height: 125%; */ color: black; background-color: white; font-size: small; } * html body { /* http://www.info.com.ph/~etan/w3pantheon/style/modifiedsbmh.html */ font-size: x-small; /* for IE5.x/win */ f\ont-size: small; /* for other IE versions */ } h1 { font-size: 165%; font-weight: bold; border-bottom: 1px solid #ddd; width: 100%; } h2 { font-size: 152%; font-weight: bold; } h3 { font-size: 139%; font-weight: bold; } h4 { font-size: 126%; font-weight: bold; } h5 { font-size: 113%; font-weight: bold; display: inline; } h6 { font-size: 100%; font-weight: bold; font-style: italic; display: inline; } a:link { color: #039; background: inherit; } a:visited { color: #72007C; background: inherit; } a:hover { text-decoration: underline; } a img, img[usemap] { border-style: none; } code, pre, samp, tt { font-family: monospace; font-size: 110%; } caption { text-align: center; font-weight: bold; width: auto; } dt { font-weight: bold; } table { font-size: small; /* for ICEBrowser */ } td { vertical-align: top; } th { font-weight: bold; text-align: left; vertical-align: bottom; } ol ol { list-style-type: lower-alpha; } ol ol ol { list-style-type: lower-roman; } td p:first-child, td pre:first-child { margin-top: 0px; margin-bottom: 0px; } table.table-border { border-collapse: collapse; border-top: 1px solid #ccc; border-left: 1px solid #ccc; } table.table-border th { padding: 0.5ex 0.25em; color: black; background-color: #f7f7ea; border-right: 1px solid #ccc; border-bottom: 1px solid #ccc; } table.table-border td { padding: 0.5ex 0.25em; border-right: 1px solid #ccc; border-bottom: 1px solid #ccc; } span.gui-object, span.gui-object-action { font-weight: bold; } span.gui-object-title { } p.horizontal-rule { width: 100%; border: solid #cc9; border-width: 0px 0px 1px 0px; margin-bottom: 4ex; } div.zz-skip-header { display: none; } td.zz-nav-header-cell { text-align: left; font-size: 95%; width: 99%; color: black; background: inherit; font-weight: normal; vertical-align: top; margin-top: 0ex; padding-top: 0ex; } a.zz-nav-header-link { font-size: 95%; } td.zz-nav-button-cell { white-space: nowrap; text-align: center; width: 1%; vertical-align: top; padding-left: 4px; padding-right: 4px; margin-top: 0ex; padding-top: 0ex; } a.zz-nav-button-link { font-size: 90%; } div.zz-nav-footer-menu { width: 100%; text-align: center; margin-top: 2ex; margin-bottom: 4ex; } p.zz-legal-notice, a.zz-legal-notice-link { font-size: 85%; /* display: none; */ /* Uncomment to hide legal notice */ } /*************************************/ /* Begin DARB Formats */ /*************************************/ .bold, .codeinlinebold, .syntaxinlinebold, .term, .glossterm, .seghead, .glossaryterm, .keyword, .msg, .msgexplankw, .msgactionkw, .notep1, .xreftitlebold { font-weight: bold; } .italic, .codeinlineitalic, .syntaxinlineitalic, .variable, .xreftitleitalic { font-style: italic; } .bolditalic, .codeinlineboldital, .syntaxinlineboldital, .titleinfigure, .titleinexample, .titleintable, .titleinequation, .xreftitleboldital { font-weight: bold; font-style: italic; } .itemizedlisttitle, .orderedlisttitle, .segmentedlisttitle, .variablelisttitle { font-weight: bold; } .bridgehead, .titleinrefsubsect3 { font-weight: bold; } .titleinrefsubsect { font-size: 126%; font-weight: bold; } .titleinrefsubsect2 { font-size: 113%; font-weight: bold; } .subhead1 { display: block; font-size: 139%; font-weight: bold; } .subhead2 { display: block; font-weight: bold; } .subhead3 { font-weight: bold; } .underline { text-decoration: underline; } .superscript { vertical-align: super; } .subscript { vertical-align: sub; } .listofeft { border: none; } .betadraft, .alphabetanotice, .revenuerecognitionnotice { color: #e00; background: inherit; } .betadraftsubtitle { text-align: center; font-weight: bold; color: #e00; background: inherit; } .comment { color: #080; background: inherit; font-weight: bold; } .copyrightlogo { text-align: center; font-size: 85%; } .tocsubheader { list-style-type: none; } table.icons td { padding-left: 6px; padding-right: 6px; } .l1ix dd, dd dl.l2ix, dd dl.l3ix { margin-top: 0ex; margin-bottom: 0ex; } div.infoboxnote, div.infoboxnotewarn, div.infoboxnotealso { margin-top: 4ex; margin-right: 10%; margin-left: 10%; margin-bottom: 4ex; padding: 0.25em; border-top: 1pt solid gray; border-bottom: 1pt solid gray; } p.notep1 { margin-top: 0px; margin-bottom: 0px; } .tahiti-highlight-example { background: #ff9; text-decoration: inherit; } .tahiti-highlight-search { background: #9cf; text-decoration: inherit; } .tahiti-sidebar-heading { font-size: 110%; margin-bottom: 0px; padding-bottom: 0px; } /*************************************/ /* End DARB Formats */ /*************************************/ @media all { /* * * { line-height: 120%; } */ dd { margin-bottom: 2ex; } dl:first-child { margin-top: 2ex; } } @media print { body { font-size: 11pt; padding: 0px !important; } a:link, a:visited { color: black; background: inherit; } code, pre, samp, tt { font-size: 10pt; } #nav, #search_this_book, #comment_form, #comment_announcement, #flipNav, .noprint { display: none !important; } body#left-nav-present { overflow: visible !important; } } PKʍPK'AOEBPS/dcommon/rightnav.gif&GIF89a1ֽ筽ޭƔkZZk{Bc{,@ ) l)- $CҠҀ ! D1 #:aS( c4B0 AC8 ְ9!%MLj Z * ctypJBa H t>#Sb(clhUԂ̗4DztSԙ9ZQҀEPEPEPEPEPEPEPM=iԍP Gii c*yF 1׆@\&o!QY00_rlgV;)DGhCq7~..p&1c:u֫{fI>fJL$}BBP?JRWc<^j+χ5b[hֿ- 5_j?POkeQ^hֿ1L^ H ?Qi?z?+_xɔŪ\썽O]χ>)xxV/s)e6MI7*ߊޛv֗2J,;~E4yi3[nI`Ѱe9@zXF*W +]7QJ$$=&`a۾?]N T䏟'X)Ɣkf:j |>NBWzYx0t!* _KkoTZ?K Gc+UyڹgNuh^iSo5{\ܹ3Yos}.>if FqR5\/TӮ#]HS0DKu{($"2xִ{SBJ8=}Y=.|Tsц2UЫ%.InaegKo z ݎ3ֹxxwM&2S%';+I',kW&-"_¿_ Vq^ܫ6pfT2RV A^6RKetto^[{w\jPZ@ޢN4/XN#\42j\(z'j =~-I#:q[Eh|X:sp* bifp$TspZ-}NM*B-bb&*xUr#*$M|QWY ~p~- fTED6O.#$m+t$˙H"Gk=t9r娮Y? CzE[/*-{c*[w~o_?%ƔxZ:/5𨴟q}/]22p qD\H"K]ZMKR&\C3zĽ[PJm]AS)Ia^km M@dК)fT[ijW*hnu Ͳiw/bkExG£@f?Zu.s0(<`0ֹoxOaDx\zT-^ѧʧ_1+CP/p[w 9~U^[U<[tĽwPv[yzD1W='u$Oeak[^ |Gk2xv#2?¹TkSݕ| rݞ[Vi _Kz*{\c(Ck_܏|?u jVڔ6f t?3nmZ6f%QAjJf9Rq _j7Z-y.pG$Xb]0')[_k;$̭?&"0FOew7 z-cIX岛;$u=\an$ zmrILu uٞ% _1xcUW%dtÀx885Y^gn;}ӭ)場QEQ@Q@Q@Q@Q@Q@!4xPm3w*]b`F_931˜[ן+(> E ly;<;MF-qst+}DH @YKlLmؤciN<|]IU)Lw(8t9FS(=>og<\Z~u_+X1ylsj'eՃ*U3`C!N9Q_WܱhKc93^ua>H ƕGk=8~e#_?{ǀe-[2ٔ7;=&K挑5zsLdx(e8#{1wS+ΝVkXq9>&yஏh$zq^0~/j@:/«Vnce$$uoPp}MC{$-akH@ɫ1O !8R9s5ԦYmϧ'OUṡ5T,!Ԛ+s#1Veo=[)g>#< s)ƽُA^䠮ωFUj(ǩ|N3Jڷ睁ϱuږZYGOTsI<&drav?A^_f׻B$,O__ԿC`it{6>G׈C~&$y؎v1q9Sc1fH[ѽ>,gG'0'@Vw,BO [#>ﱺg5ΒFVD%Yr:O5 Tu+O멃]ی38Ze}R&ѝ_xzc1DXgس;<,_,{ƽY'AS#oF.M#~cBuEx7G+Y)(5q+GCV;qF+CLQ)qEC&6z𿊘z}?&w=+)??&\g{;V??׻xGœdٿ׼-Nc')3K]N)iLTӿCdb7Q^a N sd>Fz[0S^s'Zi 77D}kWus ab~~H(>.fif9,~|Jk;YN3H8Y(t6Q݉k͇_÷Z+2߄&[ +Tr^藺97~c܎=[f1RrBǓ^kEMhxYVm<[џ6| kqbѱ| YA{G8p?\UM7Z66 g1U1igU69 u5Pƪ:VVZC=[@ҹ¨$kSmɳО\vFz~i3^a Osŧυ9Q}_3 όO{/wgoet39 vO2ea;Ύ7$U#?k+Ek&dpzbӱ+TaB0gN{[N7Gי}U7&@?>Fz~E!a@s ?'67XxO*!?qi]֏TQN@tI+\^s8l0)2k!!iW8F$(yOּT.k,/#1:}8uT˾+5=O/`IW G֯b.-<= HOm;~so~hW5+kS8s.zwE| ?4ӿw/K N 9?j(#0UT` Wzw}:_*9m>󑓀F?ELzv=8q:=WgJ`nDr Zе<ֹ](Q@Q@Q@Q@Q@Q@Q@Q@ 'IdC0EYJVcMty_~u+Sw-aO n<[YJgL#6i g5ЖDZ14cʝ!!\/M}/_AYR__>oC? _?7_G#RERW쏞KB}JxGSkǕA pƱơP m]hwB7U$Zq M95"3q1ioATߚ{g.t uu2k=;h#YB= fgS :TdLԃ!44mFK{Hrd^7oz|BVr<{)6AXգV»|>*/hS܏z͆OM=Εq (s|s׊LKQI :9NJ)P+!ʣoAF>+=@I}"x/}۠1aנc¹4emC:>p_xWKX` >R3_S½èųp3޺u3N e یbmͺ<_ mnݮ1Op?Gm)Qb%N585'%Ahs\6yw!"&Ɨ._wk)}GP;Z!#\"< *oƾ\)}N>"լ/~]Lg}pBG X?<zZ#x69S=6) jzx=y9O&>+e!!? ?s~k5Gʏ)?*ce7Ox~k5􇔾Q/e7/Ԑ#3OgNC0] ;_FiRl>Q.g>!%k#ú:Kn'&}?U@\pџPtp)v<{_i}Oվֲ3XIYIx~b<D?(=_JXH=bbi=Oh?_ C_O)}oW쏜? %Ƶ;-RYFi`wۭ{ϖZMtQ$"c_+ԃx1*0b;ԕ݋ESQEQEQEQEQEQEQEQEQEQZ(1F)h1K@XLRE&9P (bf{RӨ&)PEPEPbԴPGKZ(iإbn(:A%S0(-&)P+ ڎԴP11F)h&:LRmQ@Q@Š(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((PKje88PK'AOEBPS/dcommon/help.gif!GIF89a1εֵ֜֜{kZsBc{,@ )sƠTQ$8(4ʔ%ŌCK$A HP`$h8ŒSd+ɡ\ H@%' 6M HO3SJM /:Zi[7 \( R9r ERI%  N=aq   qƦs *q-n/Sqj D XZ;PKއ{&!PK'A OEBPS/toc.htm%[ڤ Table of Contents

Contents

List of Figures

List of Tables

Title and Copyright Information

Preface

1 What's New in Oracle Warehouse Builder

2 Introduction to Oracle Warehouse Builder

3 User Interface Tour

4 Data Access and Movement

5 Data Objects

6 Data Transformation

7 Dependency and Change Management

8 Data Quality Management

9 Deployment and Execution

10 Scripting and Automation

A Oracle Warehouse Builder Design Center and Runtime Preferences

B Object Editors

Glossary

Index

PK]b*[%[PK'AOEBPS/dataobjects.htm Data Objects

5 Data Objects

The data in the data system that you implement with Oracle Warehouse Builder is stored in target schemas. This data is in the form of data objects such as tables, views, dimensional objects, and cubes. This section discusses relational and dimensional data objects that you design for your target system, and business intelligence objects for analytical views.

This section contains these topics:

Types of Data Objects

Oracle Warehouse Builder uses relational and dimensional data objects and intelligence objects as follows:

  • Relational objects rely on tables and table-derived objects to store and link all of their data. Relational objects include tables, views, materialized views, and sequences.

  • Dimensional objects contain additional metadata to identify and categorize your data. Dimensional objects include dimensions and cubes.

  • Intelligence objects enable you to store definitions of business views. You can deploy these definitions to Oracle Business Intelligence Suite Enterprise Edition (OBI EE). In Oracle Warehouse Builder, intelligence objects are displayed under the Business Intelligence node in the Project Navigator.


See Also:


Data Object Editors

Oracle Warehouse Builder provides contextual data object editors to create, edit, configure, validate, and deploy Oracle data objects. The data object editors work with relational, dimensional, and business intelligence objects.

Use data object editors to:

  • Create, edit, and delete relational and dimensional objects.

  • Create, edit, and delete the following business intelligence objects: Business Areas and Item Folders.

  • Define relationships between Oracle data objects.

  • Validate, generate, and deploy Oracle data objects.

  • Define and edit all aspects of a data object such as its columns, constraints, indexes, partitions, data rules, and attribute sets.

  • Define implementation details for dimensional objects with a relational implementation.

Data Viewers

Oracle Warehouse Builder Data Viewers are available for dimensions and cubes, and relational objects (tables, views, materialized views, sequences, external tables and so forth). The dimension and cube Data Viewers enable interactive, logical-level browsing of the contents of these objects at a logical level, regardless of the details of the underlying physical storage. The dimension Data Viewer lets you browse and drill into the dimension members organized by hierarchy and level. The cube Data Viewer enables interactive browsing of the contents of the cube, and pivoting and drilling down into the data along any dimension.

To access a Data Viewer, from the Projects Navigator, right-click a data object and select Data.

By default, the Data Viewer for the selected object displays the first hundred rows of data. To retrieve the next set of rows, click Get More. Alternatively, you can click More to perform the same action. The columns and column names displayed in the Data Viewer are taken directly from the location in which the actual table is deployed.


See Also:

"Using the Data Viewer to View Data Stored in Data Objects" in Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide.

Dimensional Objects: Dimensions and Cubes

The term dimensional object refers to both dimensions and cubes. Oracle Warehouse Builder provides wizards to create and maintain dimensions by answering simple questions. Oracle Warehouse Builder supports two types of dimensional objects:


See Also:

"Defining Dimensional Objects" in Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide for complete procedures.

ROLAP versus MOLAP Implementations

Oracle Warehouse Builder separates the logical design of dimensional objects from their storage. The logical design, which consists of business rules, first focuses on the structure and the content of the dimensional object. You can then choose to store the dimensional object in a relational ROLAP or an analytic MOLAP implementation.

  • ROLAP and relational implementations store the dimensional object in a relational schema in the database.

  • A MOLAP implementation stores the dimensional object in analytic workspaces in the database.

Oracle Warehouse Builder enables you to use the same metadata to create and manage both your relational and multidimensional data stores. Separating the logical design from the physical implementation has the advantage of making design of ETL logic transparent. Regardless of the physical storage implementation, the logic for loading dimensions and cubes is identical.

Uses for OLAP

Dimensional objects provide complex analytic power to your data warehouse. After you load data into dimensional objects, you can run complex analytical queries that answer your business questions. These analytic queries include time-series analysis, inter-row calculations, access to aggregated historical and current data, and forecasts. Multidimensional objects are more effective in answering these types of queries quickly.


See Also:

"ROLAP Implementation of Dimensional Objects" and "MOLAP Implementation of Dimensional Objects" under "Overview of Implementing Dimensional Objects" in Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide.

About Creating and Using Cubes and Dimensions

A dimension consists of a set of levels and a set of hierarchies defined over these levels. Working with cubes and dimensional objects consists of four high-level processes:

  1. "Dimension Creation"

  2. "Dimension Implementation"

  3. "Dimension Deployment"

  4. "Dimension Loading"

Dimension Creation

When you define dimensional objects such as cubes, you describe the logical relationships that help store data in a more structured format. For example, to define a dimension, you describe its attributes, levels, and hierarchies.

Oracle Warehouse Builder provides the following two methods to define dimensions:

  • Create Dimension Wizard: Creates a fully functional dimensional object along with implementation objects that store the dimension data. Provides default settings for the most common values. Use this wizard when you want to quickly create a dimension without manually specifying settings.


    See Also:

    "Defaults Used By the Create Dimension Wizard" under "Creating Dimensions" in Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide.

  • Dimension Editor: Use editors to create or edit dimensional objects. Use editors to create a dimensional object when you want to specify settings that are different from the default settings used by the wizards. Also use editors to create dimensional objects that use certain advanced options that are not available when you use wizards. For example, to create a relational dimension that uses a snowflake schema implementation, you must use the editor. When you use the wizard, the default implementation method used is the star schema. However, you can edit a dimension that you created using the Create Dimension Wizard and modify it to use a snowflake schema implementation.

Dimension Implementation

To implement a dimension is to create the physical structure of the dimensional object. Oracle Warehouse Builder provides the following implementations for dimensions:


Note:

To use a MOLAP implementation, you must have the following software installed:
  • Oracle Database 11g Enterprise Edition with the OLAP option

  • OLAP 10.1.0.4 or higher


You set the Deployment Option configuration property to specify the type of implementation for a dimensional object. For more information on setting this property, see "Configuring Dimensions" and "Configuring Cubes" in Oracle Warehouse Builder Help.

Relational Implementation of Dimensions

The dimensional data is stored in implementation objects that are typically tables. For relational dimensions, Oracle Warehouse Builder can use a star schema, a snowflake schema, or a manual schema to store the implementation objects.


See Also:

"Star Schema" and "Snowflake Schema" in this guide.

ROLAP Implementation of Dimensional Objects

In addition to creating DDL scripts that can be deployed to a database, a ROLAP implementation enables you to create CWM2 metadata for the dimensional object in the OLAP catalog.


See Also:

"About the OLAP Catalog" in this guide.

MOLAP Implementation of Dimensional Objects

The dimension data is stored in an analytic workspace in Oracle Database 11g. This analytic workspace, in turn, is stored in the database.


See Also:

Oracle OLAP User's Guide for more information about analytic workspaces.

Dimension Deployment

To instantiate the dimensional objects in the database, you must deploy them. To specify the type of implementation for dimensional objects, you set the deployment option. The configuration parameter Deployment Options enables you to set the deployment option.

Oracle Warehouse Builder provides the following deployment options for dimensional objects.

  • Deploy All: For a relational or ROLAP implementation, the dimensional object is deployed to the database and a CWM definition to the OLAP catalog. For a MOLAP implementation, the dimensional object is deployed to the analytic workspace.

  • Deploy Data Objects Only: Deploys the dimensional object only to the database. You can select this option only for dimensional objects that use a relational implementation.

  • Deploy to Catalog Only: Deploys the CWM definition to the OLAP catalog only. Use this option if you want applications such as Oracle Business Intelligence Enterprise Edition to access the dimensional object data after you deploy data only. Use this option if you previously deployed with "Data Objects Only" and now want to deploy the CWM Catalog definitions without re-deploying the data objects again.


    See Also:

    "About the OLAP Catalog" in this guide.

  • Deploy Aggregation: Deploys the aggregations defined on the cube measures. This option is available only for cubes.

Deploying Dimensional Objects that Use a MOLAP Implementation

Dimensional objects that use a MOLAP implementation can be deployed just after you define them. You can use the Design Center or the Control Center Manager to deploy a dimensional object.

Deploying Dimensional Objects that Use a Relational or ROLAP Implementation

Before you deploy a relational or ROLAP dimensional object, ensure that the implementation details are specified. It means that the dimensional object should be bound to its implementation objects. Also ensure that the dimensional object is valid.

After you perform binding, deploy the dimensional object. Before you deploy a dimensional object, ensure that all its implementation objects are deployed. For a dimension, this includes the sequence that is used to generate the surrogate identifier of the dimension levels. Alternatively, you can deploy the implementation objects with the dimensional object.

Dimension Loading

After you deploy a dimension, you load data into it by creating a mapping. Use the Mapping Editor to create the mapping, which loads data from the source objects into the dimensional object. You then deploy and execute this mapping.


See Also:


About the OLAP Catalog

The OLAP catalog is the metadata repository provided for the OLAP option in the Oracle Database. This metadata describes the data stored in both relational tables and in analytic workspaces.

When you deploy a dimensional object using Oracle Warehouse Builder, you can specify if the dimensional object metadata should be stored in the OLAP catalog.

OLAP metadata is dynamically projected through a series of views called the active catalog views (views whose names begin with ALL_OLAP2_AW).

In Oracle Database 11g, the OLAP catalog metadata is used by OLAP tools and applications to access data stored in relational star and snowflake schemas. External application such as Oracle Business Intelligence Enterprise Edition use the OLAP catalog to query relational and multidimensional data. The application must not be aware of whether the data is located in relational tables or in analytic workspaces, nor does it require to know the mechanism for accessing it.

Figure 5-1 describes how the OLAP catalog enables applications to access data stored in relational tables and analytic workspaces.

Figure 5-1 Using the OLAP Catalog to Access Dimensional Objects

Description of Figure 5-1 follows
Description of "Figure 5-1 Using the OLAP Catalog to Access Dimensional Objects"

The OLAP catalog uses the metadata it stores to access data stored in relational tables or views. The OLAP catalog defines logical multidimensional objects and maps them to the physical data sources. The logical objects are dimensions and cubes. The physical data sources are columns of a relational table or view.

Orphan Management Policy for Dimensions

The orphan management policy in Oracle Warehouse Builder enables you to manage orphan records in dimensions and cubes. An orphan record is one that does not have a corresponding, existing parent record.

Orphan records can occur when:

  • A record that is loaded into a dimensional object does not have a corresponding parent record.

  • A record is deleted from a dimensional object. This could result in the child records of the deleted record not having an existing parent record.

Oracle Warehouse Builder enables you to specify a different orphan management policy for loading dimensional data and removing dimensional data.


See Also:

"Orphan Management for Dimensional Objects" under "Overview of Cubes" in Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide.

Relational Dimensions

A relational dimension is a structure that organizes data. Examples of commonly used dimensions are Customers, Time, and Products.

Relational dimensions provide improved query performance because users often analyze data by drilling down on known hierarchies. An example of a hierarchy is the Time hierarchy of year, quarter, month, day. The Oracle Database uses these defined hierarchies by rewriting queries that retrieve data from materialized views rather than detail tables.

Typical relational dimension tables have the following characteristics:

  • A single column primary key populated with values called warehouse keys.

    Warehouse keys that provide administrative control over the dimension, support techniques that preserve dimension history, and reduce the size of cubes.

  • One or more hierarchies that are explicitly defined as dimension objects. Hierarchies maximize the number of query rewrites by the Oracle server.


See Also:

"Creating Relational Data Objects" in Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide.

Rules for Dimension Objects

When you create a dimension object using Oracle Warehouse Builder, the dimension must conform to the following rules:

  • A dimension must have a surrogate identifier and a business identifier.

  • The surrogate identifier can consist of only one attribute. However, the business identifier can consist of multiple attribute.

  • Every dimension level must have at least one attribute.

  • A dimension attribute can be either a surrogate identifier, a business identifier, a parent identifier, or a regular attribute.

  • A regular attribute can also play only one of the following roles at a time: effective date, expiration date, or triggering attribute.

  • A dimension that uses a relational or ROLAP implementation must have at least one level.

  • Any database table or view that implements a dimension that uses a relational or ROLAP implementation must have only one LONG, LONG RAW, or NCLOB column.

  • For a dimension that uses a relational or ROLAP implementation, all level attributes must bind to database tables or views only.

  • A dimension that uses a relational or ROLAP implementation must be associated with a sequence that is used to load the dimension key attribute.

  • The dimension key attribute of a dimension that uses a relational or ROLAP implementation must bind to the primary key of a table.

  • A Type 2 Slowing Changing Dimension (SCD) must have the effective date, expiration date, and at least one triggering attribute.

  • A Type 3 Slowing Changing Dimension (SCD) must have the effective date and at least one triggering attribute.


Note:

For dimensions with a ROLAP implementation, there are implications and limitations related to the various dimension structures when either reporting on the underlying tables or deploying to the OLAP catalog. Refer to the topic, "Limitations of Deploying Dimensions to the OLAP Catalog" under "Overview of Dimensions" in Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide.


See Also:

"About the OLAP Catalog" under "Overview of Implementing Dimensional Objects" in Oracle Warehouse Builder Data Modeling, ETl, and Data Quality Guide.

About Defining a Dimension

Creating a dimension consists of:


See Also:

"Defining Dimensional Objects" in Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide.

Defining Dimension Attributes

A dimension attribute is a descriptive characteristic of a dimension member. It has a name and a data type. A dimension attribute is applicable to one or more levels in the dimension. They are implemented as level attributes to store data.

In Oracle Warehouse Builder, you define dimension attributes when you define a dimension. The list of dimension attributes must include all the attributes that you may need for any of the levels in the dimension. Dimension attributes are the only attributes that are visible in Oracle Business Intelligence Suite Enterprise Edition (OBI EE) and other OLAP tools.

For example, the Products dimension has a dimension attribute called Description. This attribute is applicable to all the levels Total, Groups, and Products and stores the description for each of the members of these levels.

Defining Levels

The levels in a dimension represent the level of aggregation of data. A dimension must contain at least one level, except for a dimension that contains a value-based hierarchy. Every level must have level attributes and a level identifier.

For example, the dimension Products can have the following levels: Total, Groups, and Product.

Surrogate, Business, and Parent Identifiers

Every level must have two identifiers: a surrogate identifier and a business identifier. When you create a dimension, each level must implement the dimension attributes marked as the surrogate identifier and business identifier (attributes, for a composite business identifier) of the dimension.

Surrogate Identifiers

A surrogate identifier uniquely identifies each level record across all the levels of the dimension. It must be composed of a single attribute. Surrogate identifiers enable you to hook facts to any dimension level as opposed to the lowest dimension level only.

For a dimension that has a relational or ROLAP implementation, the surrogate identifier should be of the data type NUMBER. Because the value of the surrogate identifier must be unique across all dimension levels, you use the same sequence to generate the surrogate identifier of all the dimension levels.

For a relational implementation, the surrogate identifier serves the following purposes:

  • If a child level is stored in a different table from the parent level, each child level record stores the surrogate identifier of the parent record.

  • In a fact table, each cube record stores only the surrogate identifier of the dimension record to which it refers. By storing the surrogate identifier, the size of the fact table that implements the cube is reduced.

Business Identifiers

A business identifier consists of a user-selected list of attributes. The business identifier must be unique across the level and is always derived from the natural key of the data source. The business identifier uniquely identifies the member. For example, the business identifier of a Product level can be its Universal Product Code (UPC), which is a unique code for each product.


Note:

For a dimension that has a MOLAP implementation, the business identifier can consist of only one attribute.

The business identifier does the following:

  • Identifies a record in business terms

  • Provides a logical link between the fact and the dimension or between two levels

  • Enables the lookup of a surrogate key

When you populate a child level in a dimension, you must specify the business identifier of its parent level. When you populate a cube, you must specify the business identifier of the dimension level to which the cube refers.

Parent Identifier

A parent identifier is used to annotate the parent reference in a value-based hierarchy. For more information on value-based hierarchies, see "Value-based Hierarchies".

For example, an EMPLOYEE dimension with a value-based hierarchy, has the following dimension attributes: ID, FIRST_NAME, LAST_NAME, EMAIL, PHONE, JOB_ID, HIRE_DATE, and MANAGER_ID. In this dimension, ID is the surrogate identifier and MANAGER_ID is the parent identifier.

Defining Level Attributes

A level attribute is a descriptive characteristic of a level member. Each level in the dimension has a set of level attributes. To define level attributes, you select the dimension attributes that the level implements. A level attribute has a distinct name and a data type. The data type is inherited from the dimension attribute that the level attribute implements. The name of the level attribute can be modified to be different from that of the dimension attribute that it implements.

Every level must implement the attribute marked as the surrogate identifier and the business identifier in the set of the dimension attributes.

Defining Hierarchies

A dimension hierarchy is a logical structure that uses ordered levels or a set of data values (for a value-based hierarchy) for organizing data. A hierarchy describes parent-child relationships among a set of levels. A level-based hierarchy must have at least one level. A level can be part of multiple hierarchy.

For example, the Time dimension can have the following two hierarchies:

Fiscal Hierarchy: Fiscal Year > Fiscal Quarter > Fiscal Month > Fiscal Week > Day

Calendar Hierarchy: Calendar Year > Calendar Quarter > Calendar Month > Day

All hierarchies must be strict 1:n relationships. One record in a parent level corresponds to multiple records in a child level. But one record in a child level corresponds to only one parent record within a hierarchy.

Dimension Roles

A dimension role is an alias for a dimension. In a data warehouse, a cube can refer to the same dimension multiple times, without requiring the dimension to be stored multiple times. Multiple references to the same dimension may cause confusion. So you create an alias for each reference to the dimension, thus allowing the joins to be instantly understandable. In such cases, the same dimension performs different dimension roles in the cube.

For example, a sales record can have the following three time values:

  • Time the order is booked

  • Time the order is shipped

  • Time the order is fulfilled

Instead of creating three time dimensions and populating them with data, you can use dimension roles. Model one time dimension and create the following three roles for the time dimension: order booked time, order shipped time, and order fulfillment time. The sales cube can refer to the order time, ship time, and fulfillment time dimensions.

When the dimension is stored in the database, only one dimension is created and each dimension role references this dimension. But when the dimension is stored in the OLAP catalog, Oracle Warehouse Builder creates a dimension for each dimension role. Thus, if a time dimension has three roles, three dimensions are created in the OLAP catalog. However, all three dimensions are mapped to the same underlying table. This is a workaround because the OLAP catalog does not support dimension roles.


Note:

Dimension roles can be created for dimensions that have a relational implementation only.

Level Relationships

A level relationship is an association between levels in a dimension hierarchy. Level relationships are implemented using level attributes that store the reference to the parent level in the hierarchy.

For example, the Products dimension has the following hierarchy: Total > Groups > Product. Oracle Warehouse Builder creates two level relationships: Product to Groups and Groups to Total. Two new attributes implement this level relationship: one in the Product level and one in the Groups level. These attributes store the surrogate ID of the parent level.

Control Rows

When you load data into a dimension, Oracle Warehouse Builder creates control rows. Control rows link fact data to a dimension at any level, thus enabling the reuse of a dimension in different cubes.


See Also:

"Using Control Rows" in Chapter 3, "Defining Dimensional Objects" in Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide.

Value-based Hierarchies

A value-based hierarchy is a dimension in which hierarchical relationships are defined by a parent dimension attribute and a child dimension attribute. This is different from a level-based hierarchy, referred to as a hierarchy in this chapter, in which the hierarchical relationships are defined between levels.

You create a value-based hierarchy when the parent-child relationships cannot be grouped into meaningful levels. A value-based hierarchy has no levels. When you create the dimension attributes, you must specify which dimension attribute is the parent attribute.

For example, consider an EMPLOYEE dimension that has the following dimension attributes: ID, FIRST_NAME, LAST_NAME, EMAIL, PHONE, JOB_ID, HIRE_DATE, DESCRIPTION, and MANAGER_ID. This dimension contains a parent-child relationship in which the MANAGER_ID attribute identifies the manager of each employee. But these relationships may not form meaningful levels across the organization. This is because the number of levels between an employee and the CEO is different for all employees. There may be four levels between employee A and the CEO, whereas, there may be six levels between employee B and the CEO. In such cases, you create a value-based hierarchy with MANAGER_ID as the parent identifier.

You can create value-based hierarchies using the Data Object Editor only. For more information about specifying a parent attribute, see "Attributes Tab" in Oracle Warehouse Builder Help.


Note:

Value-based hierarchies can be created only in dimensions that use a MOLAP implementation.

Implementing a Dimension

Implementing a dimension consists of specifying how the dimension and its data are physically stored. You can choose either a relational implementation, ROLAP implementation, or MOLAP implementation for a dimension. For more information about setting the implementation method, see "Dimension Implementation".

When you store dimension data in a relational form, you can implement the dimension using one of the following methods:

Star Schema

In a star schema implementation, Oracle Warehouse Builder stores the dimension data in a single table. Because the same table or view stores data for multiple dimension level, you must specify a dimension key column in the table. The dimension key column is the primary key for the dimension. This column also forms the foreign key reference to the cube.

Each level implements a subset of dimension attributes. By default, the level attribute name equals as the dimension attribute name. To avoid name conflicts caused by all level data being stored in the same table, Oracle Warehouse Builder uses the following guidelines for naming in a star table:

  • If the level attribute name is not unique, Oracle Warehouse Builder prefixes it with the name of the level.

  • If the level attribute name is unique, Oracle Warehouse Builder does not use any prefix.


Note:

To ensure that no prefixes are used, you must explicitly change the level attribute name in the Create Dimension wizard or the Data Object Editor.

For example, if you implement the Products dimension using a star schema, Oracle Warehouse Builder uses a single table to implement all the levels in the dimension.

Figure 5-2 displays the star schema implementation of the Products dimension. The attributes in all the levels are mapped to different columns in a single table called PRODUCTS. The column called DIMENSION_KEY stores the surrogate ID for the dimension and is the primary key of the table.

Figure 5-2 Star Schema Implementation of Products Dimension

Description of Figure 5-2 follows
Description of "Figure 5-2 Star Schema Implementation of Products Dimension"

For relational or ROLAP dimensions that use a star implementation, you can bind attributes from multiple levels to the same database column. A database column that is bound to attributes from multiple dimension levels is referred to as a shared column. For a Type 2 SCD, you cannot set the level attributes that are bound to a shared column as triggering attributes.

Snowflake Schema

In a snowflake schema implementation, Oracle Warehouse Builder uses multiple table to store the dimension data. Separate database tables or views store the data pertaining to each level in the dimension.

Figure 5-3 displays the snowflake implementation of the PRODUCTS dimension. Each level in the dimension is mapped to a different table.

Figure 5-3 Snowflake Schema Implementation of the Products Dimension

Description of Figure 5-3 follows
Description of "Figure 5-3 Snowflake Schema Implementation of the Products Dimension"

Slowly Changing Dimensions (SCDs)

A Slowly Changing Dimension (SCD) is a dimension that stores and manages both current and historical data over time in a data warehouse. In data warehousing, there are three commonly recognized types of SCDs: Type 1, Type 2, and Type 3.

With the appropriate licensing, you can use Oracle Warehouse Builder to define, deploy, and load all three types of SCDs. You can create slowly changing dimensions only for dimensions that use a relational implementation.


Note:

Type 1 does not require additional licensing; however, Type 2 and Type 3 SCDs require Oracle Warehouse Builder Enterprise ETL Option. Refer to Oracle Database Licensing Information.


See Also:

"Overview of Slowly Changing Dimensions" in Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide for complete information about the types of SCDs and how to use them.

About Type 1 Slowly Changing Dimensions

In a Type 1 Slowly Changing Dimension (SCD), the new data overwrites the existing data. Typically, this type is not considered an SCD and most dimensions are of this type. Thus the existing data is lost as it is not stored anywhere else. This is the default type of dimension you create. You need not specify any additional information to create a Type 1 SCD. Unless there are specific business reasons, you must assume that a Type 1 SCD is sufficient.


See Also:

"Creating Slowly Changing Dimensions" in Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide for detailed information about all types of SCDs.

Time Dimensions

A time dimension is a dimension that stores temporal data. Time dimensions are used extensively in data warehouses. Oracle Warehouse Builder enables you to create and populate time dimensions. You can use Oracle Warehouse Builder to create both fiscal and calendar time dimensions.

When you create a time dimension using the wizard, Oracle Warehouse Builder creates the mapping for you to execute to populate the time dimension. Also, the data loaded into the time dimension conforms to the best practices recommended by Oracle Warehouse Builder for a time dimension.

Cubes: Measures and Dimensionality

A cube is a data object that contains measures, and links to one or more dimensions. The axes of a cube contain dimension members, and the body of the cube contains measure values. Most measures are additive. For example, sales data can be organized into a cube whose edges contain values for Time, Products, and Promotions dimensions and whose body contains values from the measures Value sales, and Dollar sales.


Note:

In the relational implementation of a cube, the cube is linked to dimension tables over foreign key constraints. Since data integrity is vital, these constraints are critical in a data warehousing environment. The constraints enforce referential integrity during the daily operations of the data warehouse.

Cube Definitions

A cube consists of the set of measures defined over a set of dimensions as follows.

Cube Measures

A measure is data, usually numeric and additive, that can be examined and analyzed. Examples of measures include sales, cost, and profit. A cube must have one or more measures. You can also perform aggregation of measures. Only numeric measures can be aggregated.

Cube Dimensionality

A cube is defined by a set of dimensions. A cube can refer to a level that is not the lowest level in a dimension.

For cubes that use a pure relational implementation, you can reuse the same dimension multiple times with the help of dimension roles. For more information on dimension roles, see "Dimension Roles".

Before you validate a cube, ensure that all the dimensions that the cube references are valid.

To define a dimension reference, specify the following:

  • The dimension and the level within the dimension to which the cube refers.

    For a cube that uses a relational implementation, you can refer to intermediate levels in a dimension. However, for cubes that use a MOLAP implementation, you can only reference the lowest level in the dimension. Oracle Warehouse Builder supports a reference to the non surrogate identifier of a level, for example, the business keys.

  • For dimensions that use a relational or ROLAP implementation, a dimension role for each dimension to indicate what role the dimension reference is performing in the cube. Specifying the dimension role is optional.

When you define a MOLAP cube, the order in which you define the dimension references is important. The physical ordering of dimensions on disk equals as the order in which you define the dimension references. The physical ordering is tightly coupled with the sparsity definition. Define the dimension references in the order of most dense to least dense. Time is usually a dense dimension, and listing it first expedites data loading and time-based analysis. For more information on defining dimension references, see "Dimensions Page" or "Dimensions Tab" in Oracle Warehouse Builder Help. For more information on sparsity, see Advanced Dialog Box" in Oracle Warehouse Builder Help.

Default Aggregation Method 

You can define aggregations that should be performed on the cube. For ROLAP cubes, you can only define a single aggregation method for the cube. For MOLAP cubes, you can define a different aggregation method for each dimension of each measure. Oracle Warehouse Builder enables you to use the same aggregation function for all the cube measures or specify different aggregate functions for each measure.

Oracle Warehouse Builder supports the following default aggregation methods: SUM, SSUM (scaled SUM), AVERAGE, HAVERAGE (hierarchical average), MAX, MIN, FIRST, LAST, AND, OR, HIERARCHICAL_FIRST and HIERARCHICAL_LAST. If you do not want to perform aggregation, select NOAGG. The methods AND and OR are not applicable for cubes that use a multidimensional implementation.


Note:

You cannot define aggregation for pure relational cubes.

Implementing a Cube

When you implement a cube, you specify the physical storage details for the cube. You can implement a cube in a relational form or a multidimensional form in the database.

The types of implementation are:

To set the type of implementation for a cube, use the Deployment Option configuration property.

Relational and ROLAP Implementation of a Cube

The database object used to store the cube data is called a fact table. A cube must be implemented using only one fact table. The fact table contains columns for the cube measures and dimension references. For more information on setting the implementation option for a cube, see "Dimension Implementation".

To implement a cube:

  • Select a table or materialized view that stores the cube data.

  • For each measure, select a column that stores the measure data.

  • For each dimension reference, select a column that stores the dimension reference.

    Each dimension reference corresponds to a column on the fact table and optionally a foreign key from the fact table to dimension table. The 1:n relationships from the fact tables to the dimension tables must be enforced.

Figure 5-4 displays the bindings for the relational implementation of the SALES cube. The data for the SALES cube is stored in a table called SALES.

Figure 5-4 Implementation of the Sales Cube

Description of Figure 5-4 follows
Description of "Figure 5-4 Implementation of the Sales Cube"

MOLAP Implementation of a Cube

Storing the cube and its data in an analytic workspace is called a MOLAP implementation. You can store multiple cubes in the same analytic workspace. For more information on OLAP implementation, see "MOLAP Implementation of Dimensional Objects".

Solve Dependency Order of Cube

Certain business scenarios may require the dimensions in a cube to be evaluated in a particular order. The order in which the dimensions are evaluated is called the solve dependency order of the cube. For example, in the Sales cube, the Time dimension must be evaluated before the Products dimension. For each dimension of the cube, you can specify a dependency on another dimension of the cube.

The advantage of specifying the dependency order is that it enables Oracle Warehouse Builder to optimize the query speed of calculating the joins of the dimension and cubes. For example, retrieving results from the sales cube based on Time criteria may be more selective than retrieving result based on Products criteria. In this case, you can specify that for the Sales cube, the Products dimension depends on the Time dimension.

Specifying the solve dependency order is optional. If you do not specify a dependency order, the optimizer determines the solve-order with additional flexibility.

PK}z  PK'A OEBPS/lot.htm5 List of Tables PK@T:5PK'AOEBPS/datatransform.htmHu Data Transformation

6 Data Transformation

This section discusses basic concepts related to design and implementation of data extraction, transformation and loading (ETL) mappings in Oracle Warehouse Builder.

This section contains the following topics:

Data Transformation with Oracle Warehouse Builder Mappings

Data transformation is the term for converting data from a source data format into a destination data format. Data transformations typically require two steps: a) data mapping (from source to target) to capture any transformations that must occur, and b) code generation to create the actual transformation process. After you import your source data and define the target, you decide how to transform the source data into the output desired for the target. The Mapping Editor in Oracle Warehouse Builder guides you on how to transform the data by designing mappings. A mapping describes the sequence of operations required to extract data from sources, transform the data, and load the data into one or more targets.

Transformations are PL/SQL functions, procedures, packages, and types that enable you to transform data. You use transformations when designing mappings and process flows that define ETL processes.

Data Flow and Transformation-Code Generation in Mappings

Mappings provide a visual representation of the flow of the data and the operations performed on the data. Based on the ETL logic that you define in a mapping, Oracle Warehouse Builder generates the code required to implement your design. Oracle Warehouse Builder can generate code for the following languages:

  • PL/SQL: PL/SQL stands for Procedural Language/Standard Query Language. It extends SQL by adding constructs found in procedural languages, resulting in a structural language that is more powerful than SQL.

  • SQL*Loader: SQL*Loader is an Oracle tool for loading data from files into Oracle Database tables. It is the most efficient way to load large volumes of data from flat files.

  • SAP ABAP: ABAP is a programming language for developing applications for the SAP R/3 system, a business application subsystem.

  • Code Templates (CT mappings): For Code Template (CT) mappings, Oracle Warehouse Builder generates data extraction or other mapping code based on the contents of a Code Template.


Note:

You can create and define mappings using OMB*Plus, the scripting interface for Oracle Warehouse Builder as described in Oracle Warehouse Builder API and Scripting Reference.

Mapping Operators

The mapping operator is the basic design element for a mapping. As you design a mapping, you select operators from the Mapping Editor palette, and you can visually drag them onto the work area or canvas. Operators handle how to represent sources and targets in the data flow. Operators also define how to transform the data from source to target. The operators you select affect how you design the mapping.

Based on the operators you select, Oracle Warehouse Builder assigns the mapping to one of the following Mapping Generation Languages:

  • PL/SQL. Oracle Warehouse Builder generates PL/SQL code for all mappings that do not contain either a flat file operator as a source, or a SAP/R3 source. Design considerations for PL/SQL mappings depend on whether you specify a row-based or set-based operating mode.

  • SQL*Loader. When you define a flat file operator as a source, Oracle Warehouse Builder generates SQL*Loader code. To design a SQL*Loader mapping correctly, follow the guidelines described in "Using Flat File Source and Target Operators" in Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide.

  • ABAP (SAP-based script). When you define a SAP/R3 source, Oracle Warehouse Builder generates ABAP code. For mapping design considerations for SAP sources, see "Creating SQL*Loader, SAP, and Code Template Mappings" in Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide.

Each of these languages require you to adhere to certain rules when designing a mapping.

Pluggable Mappings

A pluggable mapping is a reusable grouping of mapping operators that works as a single operator. Pluggable mappings are similar to functions in programming languages such as SQL*Plus and C, and enable you to reuse the ETL logic contained within.

When defined, a pluggable mapping appears as a single mapping operator, nested inside a mapping. You can use a pluggable mapping multiple times in the same mapping, or in other mappings. You can include pluggable mappings within other pluggable mappings.

Like any operator, a pluggable mapping has a signature, which consists of input and output attributes that enable you to connect it to other operators in various mappings. The signature is similar to the input and output requirements of a function in a programming language.

A pluggable mapping can be either reusable or embedded:

  • Reusable pluggable mapping: A pluggable mapping is reusable if the metadata it references can exist outside of the mapping within which it is contained.

  • Embedded pluggable mapping: A pluggable mapping is embedded if the metadata it references is owned only by the mapping or pluggable mapping in which it is contained.


Note:

The use of pluggable mappings requires the Oracle Warehouse Builder Enterprise ETL Option. Refer to Oracle Database Licensing Information for details about this option.


See Also:

"Using Pluggable Mappings" in Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide for procedures.

Transformations for Designing Mappings

Transformations are PL/SQL functions, procedures, table functions, and packages that enable you to transform data. You use transformations when designing mappings and process flows that define ETL processes.

Transformations are organized as follows:

Predefined Transformations and Custom Transformations

Oracle Warehouse Builder provides a set of predefined transformations that enable you to perform common transformation operations. These predefined transformations are part of the Oracle Library that consists of built-in and seeded functions and procedures. You can directly use these predefined transformations to transform your data.

A custom transformation is one that is created by the user. Custom transformations can use predefined transformations as part of their definition. You can also import PL/SQL packages. Although you can modify the package body of an imported package, you cannot modify the package header, which is the signature for the function or procedure.

Transformation Libraries

A transformation library consists of a set of reusable transformations. Each time you create a project, Oracle Warehouse Builder creates a Transformation Library containing transformation operations for that project. This library contains the standard Oracle Library and an additional library for each Oracle module defined within the project.

Transformation libraries are available under the Public Transformations node of the Global Navigator in the Design Center.

Transformation libraries are one of the following types:

  • Oracle Library, a collection of predefined functions from which you can define procedures for your Global Shared Library.

  • Global Shared Library, a collection of reusable transformations created by the user.


See Also:

"About Transformation Libraries" in Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide

Table Functions

Oracle Warehouse Builder provides the ability to define table function operators in mappings. Use table function operators to represent a table function in a mapping. Table function operators enable you to manipulate a set of input rows and return another set of rows of the same or different cardinality. Using table functions can greatly improve performance when loading your data warehouse.


See Also:

"Table Function Operator" in Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide

PK=aHHPK'AOEBPS/dataquality.htm Data Quality Management

8 Data Quality Management

This section discusses data quality management and data profiling. Through data management capabilities, Oracle Warehouse Builder ensures consistent, dependable data quality. Data profiling is the first step for any organization to improve information quality and provide better decisions.

This section contains these topics:

About Data Quality Management Processes and Phases

Oracle Warehouse Builder offers a set of features that assist you in creating data systems that provide high quality information to your business users. With Oracle Warehouse Builder you can implement a process that assesses, designs, transforms, and monitors data quality. The aim of building a data warehouse is to have an integrated, single source of data that is necessary to make business decisions. Since the data is usually sourced from multiple disparate systems, it is important to ensure that the data is standardized and cleansed before loading into the data warehouse.

Using Oracle Warehouse Builder for data management provides the following benefits:

  • Provides an end-to-end data quality solution

  • Enables you to include data quality and data profiling as an integral part of your data integration process.

  • Stores metadata regarding the quality of your data alongside your data definitions.

  • Automatically generates the mappings that you can use to correct data. These mappings are based on the business rules that you choose to apply to your data and decisions you make on how to correct data.

The rest of this section is devoted to discussing the phases of implementing and using data quality processes.

Phases in the Data Quality Lifecycle

Ensuring data quality involves the following phases:

Figure 8-1 shows the phases involved in providing high quality information to your business users.

Figure 8-1 Phases Involved in Providing Quality Information

Description of Figure 8-1 follows
Description of "Figure 8-1 Phases Involved in Providing Quality Information"

Quality Assessment

In the quality assessment phase, you determine the quality of the source data. The first step in this phase is to import the source data, which could be stored in different sources, into Oracle Warehouse Builder. You can import metadata and data from both Oracle and non-Oracle sources.

After you load the source data, you use data profiling to assess its quality. Data profiling is the process of uncovering data anomalies, inconsistencies, and redundancies by analyzing the content, structure, and relationships within the data. The analysis and data discovery techniques form the basis for data monitoring. For a quick summary of data profiling, see "Data Profiling: Assessing Data Quality".

Quality Design

The quality design phase consists of designing your quality processes. You can specify the legal data within a data object or legal relationships between data objects using data rules. For more information about data rules, see "Data Rules: Enforcing Data Quality".

Quality Transformation

As part of the quality design phase, you also design the transformations that ensure data quality. These transformations could be mappings that are generated by Oracle Warehouse Builder equals data profiling or mappings you create. The quality transformation phase consists of running the correction mappings you designed to correct the source data.

Quality Monitoring

Data monitoring is the process of examining warehouse data over time and alerting you when the data violates business rules set for the data. For more information about data monitoring, see "Data Auditors: Monitoring Data Quality".

Data Profiling: Assessing Data Quality

Data profiling enables you to assess the quality of your source data before you use it in data integration scenarios and systems. Oracle Warehouse Builder provides the Data Profile Wizard to guide you through creating a data profile, and the Data Profile Editor to configure and manage data profiles. Because data profiling is integrated with the ETL features in Oracle Warehouse Builder and other data quality features, such as data rules and built-in cleansing algorithms, you can also generate data cleansing mappings and schema correction scripts. It enables you to automatically correct any inconsistencies, redundancies, and inaccuracies in both the data and metadata.

Data profiling enables you to discover many important things about your data. Some common findings include:

  • A domain of valid product codes

  • A range of product discounts

  • Columns that hold the pattern of an e-mail address

  • A one-to-many relationship between columns

  • Anomalies and outliers within columns

  • Relations between tables even if they are not documented in the database

To begin the process of data profiling, you first use the Data Profile Wizard to create a data profile from within the Design Center. You then use the Data Profile Editor to run data profiling on the objects contained in the data profile, and to create correction tables and mappings.

Data Rules: Enforcing Data Quality

A data rule is a definition of valid data values and relationships, which determine legal data within a table or legal relationships between tables. Data rules can be applied to tables, views, dimensions, cubes, materialized views, and external tables. They are used in many situations including data profiling, data and schema cleansing, and data auditing.

The metadata for a data rule is stored in the workspace. To use a data rule, you apply the data rule to a data object. For example, you could create a data rule called gender_rule, which could specify that valid values are 'M' and 'F'. You could then apply this data rule to the emp_gender column of the Employees table. Applying the data rule ensures that the values stored for the emp_gender column are either 'M' or 'F'. You can view the details of the data rule bindings on the Data Rule tab of the Data Object Editor for the Employees table.

A data rule can be derived from the results of data profiling, or it can be created using the Data Rule Wizard or OMB*Plus scripting commands.

Data Auditors: Monitoring Data Quality

Oracle Warehouse Builder provides a way to create custom data auditors, which are processes that provide data monitoring by validating data against a set of data rules to determine which records comply and which do not. Data auditors gather statistical metrics on how well the data in a system complies with a rule by auditing and marking how many errors are occurring against the audited data. The monitoring process builds on your data profiling and data quality initiatives.

  • Data auditors have thresholds that allow you to create logic because too many non-compliant records can divert the process flow into an error or notification stream. Based on this threshold, the process can choose actions. In addition, the audit results can be captured and stored for analysis purposes.

  • Data auditors can be deployed and executed ad-hoc, but they are typically run to monitor the quality of the data in an operational environment like a data warehouse or ERP system. Therefore, they can be added to a process flow and scheduled. When run, the data auditor sets several output values. One of these output values is called the audit result.

  • Data auditors also set the actual measured values such as Error Percent and Six Sigma values. Data auditors are a very important tool in ensuring that data quality levels are up to the standards set by the users of the system. It also helps determine spikes in bad data allowing events to the tied to these spikes.

Oracle Warehouse Builder Data Profiling Features

Using the data profiling features in Oracle Warehouse Builder enables you to:

  • Profile data from any source or combination of sources that Oracle Warehouse Builder can access.

  • Explore data profiling results in tabular or graphical format.

  • Drill down into the actual data related to any profiling result.

  • Derive data rules, either manually or automatically, based on the data profiling results.

  • Derive quality indexes such as six-sigma valuations.

  • Profile or test any data rules you want to verify before putting in place.


See Also:

"Performing Data Profiling" in Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide for detailed information and procedures

Types of Data Profiling

The selection of data objects determines which aspects of that data that you can profile and analyze.

Data profiling offers these main types of analysis:

Figure 8-2 displays a representation of the types of data profiling and how you can perform each type.

Figure 8-2 Data Profiling Overview

Description of Figure 8-2 follows
Description of "Figure 8-2 Data Profiling Overview"

Attribute Analysis

Attribute analysis seeks to discover both general and detailed information about the structure and content of data stored within a given column or attribute.

Attribute analysis consists of:

Pattern Analysis 

Pattern analysis attempts to discover patterns and common types of records by analyzing the string of data stored in the attribute. It generates several regular expressions that match many of the values in the attribute, and reports the percentages of the data that follows each candidate regular expression. Oracle Warehouse Builder can also search for data that conforms to common regular expressions, such as dates, e-mail addresses, telephone numbers and Social Security numbers.

Table 8-1 shows a sample attribute, Job Code, that could be used for pattern analysis.

Table 8-1 Sample Columns Used for Pattern Analysis

Job IDJob Code

7

337-A-55

9

740-B-74

10

732-C-04

20

43-D-4


Table 8-2 shows the possible results from pattern analysis, where D represents a digit and X represents a character. After looking at the results and knowing that it is company policy for all job codes be in the format of 999-A-99, you can derive a data rule that requires all values in this attribute to conform to this pattern.

Table 8-2 Pattern Analysis Results

Job Code% Occurred

999-A-999

75%

99-A-9

25%


Domain Analysis 

Domain analysis identifies a domain or set of commonly used values within the attribute by capturing the most frequently occurring values. For example, the Status column in the Customers table is profiled and the results reveal that 90% of the values are among the following values: "MARRIED", "SINGLE", "DIVORCED". Further analysis and drilling down into the data reveal that the other 10% contains misspelled versions of these words with few exceptions. Configuration of the profiling determines when something is qualified as a domain; therefore, be sure to review the configuration before accepting domain values. You can then let Oracle Warehouse Builder derive a rule that requires the data stored in this attribute to be one of the three values that were qualified as a domain.

Data Type Analysis 

Data type analysis enables you to discover information about the data types found in the attribute. This type of analysis reveals metrics such as minimum and maximum character length values, scale and precision ranges. In some cases, the database column is of data type VARCHAR2, but the values in this column are all numbers. Then you may want to ensure that you only load numbers. Using data type analysis, you can have Oracle Warehouse Builder derive a rule that requires all data stored within an attribute to be of the same data type.

Unique Key Analysis 

Unique key analysis provides information to assist you in determining whether an attribute is a unique key. It does this by looking at the percentages of distinct values that occur in the attribute. You might determine that attributes with a minimum of 70% distinct values should be flagged for unique key analysis. For example, using unique key analysis you could discover that 95% of the values in the EMP_ID column are unique. Further analysis of the other 5% reveals that most of these values are either duplicates or nulls. You could then derive a rule that requires that all entries into the EMP_ID column be unique and not null.

Functional Dependency Analysis

Functional dependency analysis reveals information about column relationships. It enables you to search for things such as one attribute determining another attribute within an object.

Table 8-3 shows the contents of the Employees table in which the attribute Dept. Location is dependent on the attribute Dept. Number. The attribute Dept. Number is not dependent on the attribute Dept. Location.

Table 8-3 Employees Table

IDNameSalaryDept NumberDept Location

10

Alison

1000

10

SF

20

Rochnik

1000

11

London

30

Meijer

300

12

LA

40

John

500

13

London

50

George

200

13

London

60

Paul

600

13

London

70

Ringo

100

13

London

80

Yoko

600

13

London

90

Jones

1200

10

SF


Referential Analysis

Referential analysis attempts to detect aspects of your data objects that refer to other objects. The purpose behind this type of analysis is to provide insight into how the object you are profiling is related or connected to other objects. Because you are comparing two objects in this type of analysis, one is often referred to as the parent object and the other as the child object. Some common things detected include orphans, childless objects, redundant objects, and joins. Orphans are values that are found in the child object, but not found in the parent object. Childless objects are values that are found in the parent object, but not found in the child object. Redundant attributes are values that exist in both the parent and child objects.

Table 8-4 and Table 8-5 show the contents of two tables that are candidates for referential analysis. Table 8-4, "Employees Table (Child)" is the child object, which inherits from Table 8-5, "Department Table (Parent)", the parent object.

Table 8-4 Employees Table (Child)

IDNameDept. NumberCity

10

Alison

17

NY

20

Rochnik

23

SF

30

Meijer

23

SF

40

Jones

15

SD


Table 8-5 Department Table (Parent)

Dept. NumberLocation

17

NY

18

London

20

SF

23

SF

55

HK


Referential analysis of these two objects would reveal that Dept. Number 15 from the Employees table is an orphan and Dept. Numbers 18, 20, and 55 from the Department table are childless. It would also reveal a join on the Dept. Number column.

Based on these results, you could derive referential rules that determine the cardinality between the two tables.

Custom Profiling with Data Rules

In addition to attribute analysis, functional dependency analysis, and referential analysis, Oracle Warehouse Builder offers data rule profiling. Data rule profiling enables you to create rules to search for profile parameters within or between objects.

This is very powerful as it enables you to validate rules that apparently exist and are defined by the business users. By creating a data rule, and then profiling with this rule you can verify if the data actually complies with the rule, and whether the rule needs amending or the data needs cleansing.

For example, the HR department might define a rule that states that Income = Salary + Bonus for the Employee table shown in Table 8-6. You can then catch errors such as the one for employee Alison.

Table 8-6 Sample Employee Table

IDNameSalaryBonusIncome

10

Alison

1000

50

1075 (error)

20

Rochnik

1000

75

1075

30

Meijer

300

35

335

40

Jones

1200

500

1700



See Also:

"Data Cleansing and Correction with Data Rules" in Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide.

Six Sigma Methodology

Oracle Warehouse Builder provides Six Sigma results and metrics embedded within the other data profiling results to provide a standardized approach to data quality.


See Also:

"Viewing Profile Results" under "Performing Data Profiling" in Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide for information on Six Sigma results

What is Six Sigma?

Six Sigma is a methodology that attempts to standardize the concept of quality in business processes. It achieves this goal by statistically analyzing the performance of business processes. The goal of Six Sigma is to improve the performance of these processes by identifying the defects, understanding them, and eliminating the variables that cause these defects.

Six Sigma metrics give a quantitative number for the number of defects for each 1,000,000 opportunities. The term "opportunities" can be interpreted as the number of records. The perfect score is 6.0. The score of 6.0 is achieved when there are only 3.4 defects for each 1,000,000 opportunities. The score is calculated using the following formula:

  • Defects Per Million Opportunities (DPMO) = (Total Defects / Total Opportunities) * 1,000,000

  • Defects (%) = (Total Defects / Total Opportunities)* 100%

  • Yield (%) = 100 - %Defects

  • Process Sigma = NORMSINV(1-((Total Defects) / (Total Opportunities))) + 1.5

    where NORMSINV is the inverse of the standard normal cumulative distribution.

Six Sigma Metrics for Data Profiling

When you perform data profiling, the number of defects and anomalies discovered are shown as Six Sigma metrics. For example, if data profiling finds that a table has a row relationship with a second table, the number of records in the first table that do not adhere to this row-relationship can be described using the Six Sigma metric.

Six Sigma metrics are calculated for the following measures in the Data Profile Editor:

  • Aggregation: For each column, the number of null values (defects) to the total number of rows in the table (opportunities).

  • Domains: For each column, the number of values that do not follows the documented domain (defects) to the total number of rows in the table (opportunities).

  • Referential: For each row relationship, the number of values that does not follows the remote key to the total number of rows in the table.

  • Functional Dependency: For each column, the number of values that are redundant (defects) to the total number of rows in the table (opportunities).

  • Unique Key: For each unique key, the number of values that does not follows the documented unique key (defects) to the total number of rows in the table (opportunities).

Automated Data Cleansing

Oracle Warehouse Builder enables you to automatically create corrected data objects and correction mappings based on the results of data profiling. On top of these automated corrections that make use of the underlying Oracle Warehouse Builder architecture for data quality, you can create your own data quality mappings to correct and cleanse source data.


See Also:

"Overview of Automatic Data Correction and Data Rules" in Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide

Automatic Data Correction Based on Data Profiling Results

When you perform data profiling, Oracle Warehouse Builder generates corrections for the objects that you profiled. You can then decide to create corrected objects based on results of data profiling. The corrections are in the form of data rules that can be bound to the corrected object.


See Also:

"Generating Corrections Based on Data Profiling Results" in Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide.

Types of Corrections for Source Data

You can perform the following types of corrections on source data objects:

  • Schema correction

    Schema correction creates scripts that you can use to create a corrected set of source data objects with data rules applied to them. The corrected data objects adhere to the data rules derived from the results of data profiling.

    The correction tables have names that are prefixed with TMP__. For example, when you profile the EMPLOYEES table, the correction table is called TMP__EMPLOYEES.

  • Data Correction

    Data correction is the process of creating correction mappings to remove anomalies and inconsistencies in the source data before loading it into the corrected data objects. Correction mappings enforce the data rules defined on the data objects. While moving data from the old "dirty" tables in the profile source tables into the corrected tables, these mappings correct records that does not follow the data rules.

    The name of the correction mapping is the object name prefixed with M_. For example, the correction mapping for the EMPLOYEE table is called M_EMPLOYEE.

Quick Summary of Performing Data Correction

To perform data correction on source data, you specify the following information:


See Also:

"Data Cleansing and Correction with Data Rules" in Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide for complete procedures.

Data Correction Actions

Based on the data profiling results, Oracle Warehouse Builder derives a set of data rules that you can use to cleanse the source data. You can automatically generate corrections based on these data rules by performing data correction actions.

For each data rule derived equals data profiling, you must choose a correction action that specifies how data values that are not accepted due to data rule enforcement should be handled. The correction actions you can choose are:

  • Ignore: The data rule is ignored and, therefore, no values are rejected based on this data rule.

  • Report: The data rule is run only after the data has been loaded for reporting purposes. It is similar to the Ignore option, except that a report is created that contains the values that do not adhere to the data rules. This action can be used for some rule types only.

  • Cleanse: The values rejected by this data rule are moved to an error table where cleansing strategies are applied. When you select this option, you must specify a cleansing strategy.

Cleansing Strategies for Data Correction

When you decide to automatically generate corrected objects based on data profiling results, you must specify how inconsistent data from the source should be cleansed before being stored in the corrected object. To do the same, you specify a cleansing strategy for each data rule that is applied to the correction object. Error tables are used to store the records that do not conform to the data rule.

The cleansing strategy you use depends on the type of data rule and the rule configuration.

Match and Merge Operations

Oracle Warehouse Builder provides general-purpose data matching and merging capabilities that can be applied to any type of data, including data deduplication features. Matching determines which records refer to the same logical data. Oracle Warehouse Builder provides a variety of match rules to compare records. Match rules range from a simple exact match to sophisticated algorithms that can discover and correct common data entry errors. Merging consolidates matched records into a single consolidated "golden standard" record based on survivorship rules called merge rules that you select or define for creating a merged value for each column.


See Also :

"Matching, Merging, and Deduplication" in Oracle Warehouse Builder Data Modeling, ETL, and Data Quality Guide for complete procedures.

PK&LPK'AOEBPS/scripting.htm8, Scripting and Automation

10 Scripting and Automation

This section introduces OMB*Plus and Experts, the scripting and automation features that contribute to making Oracle Warehouse Builder an extensible platform.

This section contains the following topics:

OMB*Plus Concepts

The OMB*Plus scripting language is built around a Java extension of the Tcl language called Jacl. OMB*Plus provides Tcl-based basic language features such as variables, procedures, and control structures. Additionally, Oracle Warehouse Builder-specific command syntax provides scripting commands for batch processing and for manipulating the user interface in Oracle Warehouse Builder:

  • The OMB-prefixed commands ('B' for batch component).

  • The OMU-prefixed commands ('U' for UI component).

You can write syntactic constructs such as variable support, conditional and looping control structures, error handling, and standard library procedures. You can also use Tcl to perform tasks on the host that is running Design Center, such as file system I/O.

A key benefit of OMB*Plus is its extensibility. For example, you can execute SQL*Plus statements and use PL/SQL packages from OMB*Plus.

You can use the OMB*Plus scripting interface to:

  • Perform complex actions directly in Oracle Warehouse Builder, without starting Oracle Warehouse Builder client user interface.

  • Define sets of routine operations to be executed in Oracle Warehouse Builder.

  • Query Oracle Warehouse Builder repository metadata and report or act on the results.

  • Perform Oracle Warehouse Builder batch operations.

  • Automate a series of conditional operations in Oracle Warehouse Builder.

OMB*Plus is accessed as described in these topics:

OMB*Plus from the Design Center

From within Oracle Warehouse Builder you can access OMB*Plus from the Design Center as follows:

  • Select View, then OMB*Plus.

The Design Center displays the OMB*Plus panel.


Note:

  • When running OMB*Plus from within the Design Center, OMU commands are disallowed. They can only be used when running OMB*Plus from command line mode.

  • You cannot access public_project or its child objects from the OMB*Plus view. Instead, use OMB*Plus from the command line to access these objects.


OMB*Plus from the Command Line

You start the OMB*Plus console according to the procedure specific to your operating system.

OMB*Plus and Windows Systems

To start OMB*Plus on Windows systems, you run OMB*Plus from the Start menu under the Warehouse Builder program group.

  • Select Start, then Warehouse Builder and Administration, and then OMB*Plus.

To access the Oracle Warehouse Builder repository, you use the OMBCONNECT statement.

OMB*Plus and Linux and UNIX

To start OMB*Plus on Linux and UNIX systems, you run OMBPlus.sh from the command prompt under the Oracle home.

To access the Oracle Warehouse Builder repository, you use the OMBCONNECT statement.

Overview of Experts in Oracle Warehouse Builder

Experts are mini-applications or task-flows that developers build to perform specific tasks in Oracle Warehouse Builder. Experts enable you to capture your knowledge, expertise, and best practices in Oracle Warehouse Builder and make them repeatable. The most basic use for Experts is to guide a user through a sequence of related tasks in Design Center. Experts enable the reuse the graphical UI components and capabilities of Oracle Warehouse Builder. For example, the Flat File Sampler Wizard in Oracle Warehouse Builder may be reused as a component within an Expert, where the developer needs the user to define the structure of a file. The developer can have full control over how the information and metadata that is returned by the wizard is used, and can call other components, write and embed scripts, call SQL or Java, and so forth.

Uses for Experts include:

  • Encapsulating common practices, to ensure that developers implement tasks in a consistent fashion.

  • Automating the performance of complex tasks to increase developer productivity.

  • Creating user interfaces to functionality implemented as OMB*Plus scripts or in Java.

Combined with the OMB*Plus scripting features and other extension mechanisms, Experts facilitate using Oracle Warehouse Builder as a platform for delivering complex, reusable data integration solutions.

This section includes these additional topics about Experts:


See Also:

The chapter "About Experts" in Oracle Warehouse Builder API and Scripting Reference for details and procedures for developing Experts.

Design Environment for Experts

The design environment for Experts is in relation of projects in Design Center, primarily with the Expert Editor, which is similar to the environment for process flows: a graph in which task objects are represented by icons, flow of control is represented by connecting lines, and design activities are performed by drag-and-drop and setting up object properties. Tasks can include creating or modifying objects in your projects, invoking commonly used built-in dialogs, creating custom dialog boxes, and invoking OMB*Plus scripts for complex flow of control and interaction with Oracle Warehouse Builder. Variables are available to preserve state among tasks in an Expert. Nested Experts are also supported, so that logic implemented in one Expert can be called in others.

Experts can also invoke arbitrary Java code in JAR files that you set up to be loaded with Oracle Warehouse Builder. As a result, you can implement new functionality in Java and integrate it into the Oracle Warehouse Builder user interface.

At run time, Experts follow the same paradigm as traditional Oracle Warehouse Builder functionality, in that code (in this case, OMB and OMU scripts) is generated from the model/logical design, and is then executed.

Storage of Experts: Public and Private

In a workspace, Experts can be created in a public Experts folder or in the private Experts folder that is included in each project. Private Experts are typically used only in relation of its parent project. As with other public objects, public Experts are stored in the globals area and can be used across all projects in the workspace. Public Experts typically encapsulate functionality that is useful across different types of projects.

Depending upon how they are implemented, Experts can be invoked in several different contexts:

  • Some Experts are designed to be right-clicked and executed from the Experts or Public Experts folder.

  • Experts can be added to the right-click menus associated with most objects in Warehouse Builder, being added as new menu commands in Design Center. In such a case, the Expert executes in a context where the object from which it was invoked is passed as a parameter.

  • Oracle Warehouse Builder can also be started from the command line in a mode that hides Design Center from the user and runs a single Expert, then exits. These two capabilities allow the creation of simplified, constrained interfaces to Oracle Warehouse Builder functionality for users who are not frequent Oracle Warehouse Builder users or ETL developers.

About Guided Assistance Experts

The Guided Assistance feature enables the creation of a set of Experts in an Oracle Warehouse Builder workspace, such that when a user logs in to the workspace, they are immediately offered a point-and-click list of Experts to choose from to perform one of several common tasks. Placing Experts in a folder called STARTUP in the Public Experts folder causes them to appear in the Guided Assistance Experts list. Guided Assistance Experts can also be accessed through a Help menu item in Design Center. Administrators can use this feature to provide developers on a project a set of Experts and encourage their use for consistency and time-saving on common tasks.


See Also:

The topic "Guided Assistance" under "About Experts" in Oracle Warehouse Builder API and Scripting Reference

PK*88PK 'Aoa,mimetypePK'A}g_LG:iTunesMetadata.plistPK'AYuMETA-INF/container.xmlPK'A==OEBPS/deployexec.htmPK'A[pTOCOEBPS/cover.htmPK'AFOEBPS/whatsnew.htmPK'AEm#OEBPS/title.htmPK'Auwnd7OEBPS/intro.htmPK'A7={vvlOEBPS/sourcetargs.htmPK'A0AAOEBPS/apx_editors.htmPK'A{R R|OEBPS/glossary.htmPK'AGs@E@&OEBPS/preface.htmPK'A2RCOEBPS/index.htmPK'Af Rߢ552OEBPS/img/topo_workspace.gifPK'AA)~whOEBPS/img/dp_types.gifPK'A1&}ni!IyOEBPS/img/olap_catalog_access.gifPK'AπE#OEBPS/img/lia_all.gifPK'A9 33lOEBPS/img/cube_impl_rel.gifPK'Ay!TT&OEBPS/img/snowflake_implementation.gifPK'Az+OEBPS/img/dp_phases2.gifPK'AFIEDE!(OEBPS/img/star_implementation.gifPK'A OEBPS/img/lineage.gifPK'AY),\R"OEBPS/img/design_center_canvas.gifPK'A)= =OEBPS/img/proj_nav2.gifPK'A04`VOEBPS/img/topology_03.gifPK'A} OEBPS/img/impact.gifPK'A ?<7OEBPS/img_text/proj_nav2.htmPK'AKl@a\OEBPS/img_text/topology_03.htmPK'A .)OEBPS/img_text/impact.htmPK'Aϣ&3OEBPS/img_text/star_implementation.htmPK'A'#+{OEBPS/img_text/snowflake_implementation.htmPK'Ajuj!OEBPS/img_text/topo_workspace.htmPK'A2-OEBPS/img_text/lineage.htmPK'A jOEBPS/img_text/cube_impl_rel.htmPK'A<bOEBPS/img_text/dp_types.htmPK'AM('OEBPS/img_text/design_center_canvas.htmPK'A&&OEBPS/img_text/olap_catalog_access.htmPK'A1OEBPS/img_text/dp_phases2.htmPK'A#OEBPS/img_text/lia_all.htmPK'AOEBPS/uitour.htmPK'AG3w.waOEBPS/metadatamgt.htmPK'AcjM" OEBPS/apx_prefs.htmPK'A  OEBPS/toc.ncxPK'AoEc+*&* OEBPS/content.opfPK'Ano m! OEBPS/lof.htmPK'A_ x+ OEBPS/dcommon/prodbig.gifPK'AY@ 1 OEBPS/dcommon/doclib.gifPK'AIKsFs"3 OEBPS/dcommon/oracle-logo.jpgPK'A OEBPS/dcommon/contbig.gifPK'A OEBPS/dcommon/darbbook.cssPK'AMά""! OEBPS/dcommon/O_signature_clr.JPGPK'APz  OEBPS/dcommon/feedbck2.gifPK'A-s OEBPS/dcommon/feedback.gifPK'Aː5 OEBPS/dcommon/booklist.gifPK'AN61 OEBPS/dcommon/cpyr.htmPK'A!:3.e OEBPS/dcommon/masterix.gifPK'AeӺ1, OEBPS/dcommon/doccd.cssPK'A7 V OEBPS/dcommon/larrow.gifPK'A#} OEBPS/dcommon/indxicon.gifPK'AS'" OEBPS/dcommon/leftnav.gifPK'Ahu,V OEBPS/dcommon/uarrow.gifPK'Al-OJq OEBPS/dcommon/oracle.gifPK'A( OEBPS/dcommon/index.gifPK'AGC L OEBPS/dcommon/bookbig.gifPK'AJV^l OEBPS/dcommon/rarrow.gifPK'A枰pk OEBPS/dcommon/mix.gifPK'Ao"nR M : OEBPS/dcommon/doccd_epub.jsPK'Av I  OEBPS/dcommon/toc.gifPK'A r~$" OEBPS/dcommon/topnav.gifPK'A1FA OEBPS/dcommon/prodicon.gifPK'A3( # # OEBPS/dcommon/bp_layout.cssPK'Ax[?:0 OEBPS/dcommon/bookicon.gifPK'Ap*c^6 OEBPS/dcommon/conticon.gifPK'Aʍ9 OEBPS/dcommon/blafdoc.cssPK'A+&P OEBPS/dcommon/rightnav.gifPK'Aje88/R OEBPS/dcommon/oracle-small.JPGPK'Aއ{&!p OEBPS/dcommon/help.gifPK'A]b*[%[ ڌ OEBPS/toc.htmPK'A}z  ? OEBPS/dataobjects.htmPK'A@T:5  OEBPS/lot.htmPK'A=aHH OEBPS/datatransform.htmPK'A&L\B OEBPS/dataquality.htmPK'A*88}OEBPS/scripting.htmPKSSK