Skip navigation.
Downloads | Product Documentation | Support

Data Services Developer's Guide

# Introduction to Data Services

Just as the BEA WebLogic Application Server freed application developers from the tedium associated with managing multi-user applications across the Internet, BEA Liquid Data for WebLogic® allows data application developers to concentrate on developing and extending enterprise information without a need to directly program to the underlying physical data sources.

Liquid Data takes advantage of emerging standards to enable you to create hierarchical, enterprise-wide data services which can be accessed by any Web-based application.

Specifically, data services enable you to:

- Insulate integrated applications and processes from complexity of divergent data forms and potentially disconnected sources of enterprise data.
- Manage the metadata information imported from disparate data sources.
- Create data models showing the relationships between various data services.

Figure 1-1 BEA Integrated Development Environment

# Data Services and the Enterprise

In modern enterprises data is generally readily available. While this has reduced that need to move physical data into data warehouses, data marts, data mines, or other costly replications of existing data structures, the problems of dynamic data integration, immediate secured access and update, data transformation, and data synchronization remain some of the most vexing challenges facing the IT world.

Liquid Data provides a comprehensive approach to this challenge by:

- Providing a unified means of importing metadata representing the structure of any data source using its Metadata Import Wizard.
- Allowing for the creation of hierarchical data structures from tradition column-row data.
- Providing a query-driven interface to extend the physical model so data specialists can create powerful transformations of existing data and queries.
- Automatically creating data models that introspect physical data structures (and their contents) in situ, normalizes representation of diverse data, and allow the representation of the relationship of physical and logical data.
- Maintaining the accuracy of metadata through automated updates from the data source.

Liquid Data can be used to create, refine, and validate logical data structures through a process of importing data sources, creating physical and logical models, and designing queries for use by applications in an infrastructure that provides for easy maintenance, while enhancing security and performance.

Through standardized Service Data Objects (SDO) technology, web-based applications can automatically read and update relational data. Through simple Java programs Liquid Data update capabilities can be extended to support any logical data source.

- For an overview of the Liquid Data system, see the Liquid Data Concepts Guide.
- For detailed, hands-on tutorial illustrating many Liquid Data features and techniques see the samples tutorial, available from the Liquid Data e-docs page.

## Data Access Integration Architecture

In contemporary enterprise computing, data typically passes through multiple processing and storage layers. While enterprise data can easily be accessed, turning that data into useful information economically and efficiently, particularly updatable information, remains a difficult and high-maintenance task.

Figure 1-2 Liquid Data Component Architecture

Liquid Data approaches the problem of creating integration architectures by building logical data services around physical data sources and then allowing business logic to be added as part of easily maintained, graphically designed XML query functions (also called XQueries).

Using standard protocols such as JDBC, Liquid Data automatically introspects data sources, creating physical data services and corresponding schemas that model a physical data source. Optional model diagrams capture relationships between relational data sources, such as primary and foreign keys.

Any WebLogic Workshop application can include Liquid Data-enabled projects. And any application can access Liquid Data queries — including update functions — through a mediator API or a Liquid Data Control. In the case of relational data, updates can be performed automatically through Service Data Objects (SDO) (For details see Programming with Service Data Objects in the Liquid Data Client Application Developer's Guide.)

Liquid Data provides for the development of integrated queries within any WebLogic Workshop application. Each application can contain multiple Liquid Data projects, as well as any other types of projects offered by WebLogic Workshop.

Figure 1-3 Sample Data Service

## Liquid Data Applications and Projects

Liquid Data query and model development services are available through a Liquid Data-enabled WebLogic Workshop project. After you have installed Liquid Data (see the Installation Guide), you have two options:

- Creating a Liquid Data project within any WebLogic Workshop application:
  File —>New —>Project —>Liquid Data Project
- Creating a new Liquid Data application:
  File —>New —>Application —>Liquid Data Application

### Services Available to a Liquid Data Project

A Liquid Data project is comprised of a number of interrelated data services used in developing models and query functions. Service components are designed to enable rapid development, prototyping, and deployment of these services and functions in your applications.

Table 1-4 Survey of Major Services Provided by Liquid Data

Service | Feature
--- | ---
Data Modeling | Physical models Logical models Relationships Data services Read functions Navigation functions Roles
Metadata Management | Browse metadata Search metadata Impact analysis Reports
Import Metadata | Relational, web services, XML documents, delimited files, Java Metadata update
Query Management | Graphical development Testing Plan analysis Performance reporting Source editing
Application Services | Mediator API Liquid Data control JDBC
Service Data Objects (SDO) | Automatic read-write to relational sources Custom update

For more information on WebLogic Workshop applications and projects see Applications and Projects in WebLogic Workshop online documentation.

## Liquid Data: Roles and Responsibilities

- Metadata Development. Using the Liquid Data Metadata Import Wizard, any team member can quickly create a set of physical data services from enterprise data sources.
- Data Service Development. A data architect with knowledge of the relationships between enterprise data sources can then create data services based on physical and previously developed logical services.
- Query Development. Once data services are created, any IT team member can create reusable query functions using the graphical XQuery Editor. The editor is directly tied to a Source View that facilitates code-based modifications to automatically-generated designs.
- Application Development. Application designers can use data service query functions in their BEA Weblogic applications. Through Service Data Objects (SDO) and the Mediator API or a Liquid Data control, applications can retrieve and update data, yet remaining insulated from the complexities of managing the underlying data interaction.
- Metadata Management. Administrators, architects, and designers can use the Metadata Browser for real-time introspection of disparate data source metadata that has been developed through Liquid Data.

## Liquid Data: Typical Development Process

The following steps summarize a typical Liquid Data project development cycle.

1. Create your project. Create a Liquid Data project in a new or existing WebLogic Workshop application as described in Creating a Liquid Data-enabled Application and Adding a Liquid Data Project to an Existing BEA WebLogic Application.
2. Import metadata. Metadata can be obtained for any data source that is available through your local application or BEA WebLogic Server. This may include relational data, web service data, delimited files (spreadsheets), custom Java functions, and XML documents. See Obtaining Enterprise Metadata.
3. Create a data model. You can graphically build a data model that shows the relationships and cardinality between the data services you have selected (see Modeling Data Services for details). In the data model, you can also modify and extend relationships between various data services as well as their return type.
4. Develop data services. You can elaborate on existing physical data through queries that span multiple physical and/or logical data services (Using Data Services Design View. The built-in XQuery Editor (Using Query Editor View) includes standard XQuery functions and language construct prototypes. Using the editor you can map source elements or transformations to a return type.

The Liquid Data Palette provides access to all data services available to your application. Queries and data service logic are maintained in a single, editable source file that is fully integrated with your data service (Using Source View).

5. Test your function. The data service functions you create can be tested at any time. You can select any query in the current data service, add a simple or complex parameter (if required), run the query, and see the results (Testing Query Functions and Viewing Query Plans). If you have appropriate permissions, you can also update source data through Test View.
6. Review the query plan. You can view the query plan prior to or after running your query. The query plan describes the generated statements used to retrieve and update data. Execution time statistics are also available (Analyzing Queries Using Plan View on page 7-11).

## Examples, Samples, and Tutorials

Samples and examples used in this book are based on the Sample Retail Application (RTLApp) that is included with Liquid Data. See also the Sample Retail Application Overview in the Liquid Data Installation Guide.

A number of examples of Liquid Data technology can be found in the Liquid Data Samples Tutorial. This tutorial is also based on RTLApp.

To access the tutorial see the Liquid Data edocs page:

>     http://download.oracle.com/docs/cd/E13190_01/liquiddata/docs85/index.html