white paper - validata group
TRANSCRIPT
1 Copyright© 2011 Validata Group. All rights Reserved No part of this document may be reproduced or transmitted in any form or by any means, for any purpose, without the express written permission of Validata Group.
Validata SAS
Validata Technical Overview Whitepaper
WHITE PAPER
© 2011 Validata Group. All Rights Reserved
2 Copyright© 2011 Validata Group. All rights Reserved No part of this document may be reproduced or transmitted in any form or by any means, for any purpose, without the express written permission of Validata Group.
Contents Introduction .......................................................................................................................... 5
Model Driven Approach ................................................................................................. 5
Generic Approach .......................................................................................................... 6
Iterative Approach ......................................................................................................... 6
Adaptive Approach ........................................................................................................ 6
Data Transformation ..................................................................................................... 7
Supported Platforms ............................................................................................................. 7
Architecture .......................................................................................................................... 7
Storage Overview .............................................................................................................. 7
Storage Architecture ......................................................................................................... 8
Metadata Storage .......................................................................................................... 8
Instance Data Storage .................................................................................................. 10
Relational Model Views ............................................................................................... 10
Migration Staging Area Storage ................................................................................... 10
Migration Staging Area Storage Architecture ............................................................... 11
Transformation and Validation Tasks ........................................................................... 12
Migration Staging Area Reporting Engine..................................................................... 12
Validata SAS Software Architecture ................................................................................. 13
Solution Stack .............................................................................................................. 13
Software Modules ....................................................................................................... 14
Validata SAS Software Architecture Overview.................................................................. 16
Software Layers ........................................................................................................... 16
Metadata API .............................................................................................................. 17
Data Instances API ....................................................................................................... 17
Migration Staging Area API .......................................................................................... 17
Transformation Rules API ............................................................................................ 18
Database API ............................................................................................................... 18
3 Copyright© 2011 Validata Group. All rights Reserved No part of this document may be reproduced or transmitted in any form or by any means, for any purpose, without the express written permission of Validata Group.
API for Association-Based Search ................................................................................. 18
Configuration Engine API ............................................................................................. 18
Message Bus ................................................................................................................... 18
Alerts Engine Overview ................................................................................................ 18
Adapters ......................................................................................................................... 19
General ....................................................................................................................... 19
Functional (Online) Adapters Overview ....................................................................... 19
Offline Adapters Overview ........................................................................................... 23
Data Synchronization Service .............................................................................................. 23
HTTP Performance Adapter ................................................................................................. 24
Data Services....................................................................................................................... 26
SQL Server Connectivity ............................................................................................... 26
Oracle Connectivity ..................................................................................................... 26
Metadata API .................................................................................................................. 26
General ....................................................................................................................... 26
API Interoperability ..................................................................................................... 27
Legacy support ............................................................................................................ 27
Data Instances API ........................................................................................................... 27
Caching in Data Instances API .......................................................................................... 28
Reporting ............................................................................................................................ 28
Built-in HTML Reports ..................................................................................................... 28
Publishing Validata SAS Business Data through Validata SAS API ...................................... 28
Publishing Validata SAS Business Data through Relational Model Views .......................... 28
Traceability Reports ........................................................................................................ 28
XML support .................................................................................................................... 29
XSD Files .......................................................................................................................... 29
AXML Format .................................................................................................................. 29
4 Copyright© 2011 Validata Group. All rights Reserved No part of this document may be reproduced or transmitted in any form or by any means, for any purpose, without the express written permission of Validata Group.
VXML Format .................................................................................................................. 29
VMXML Format ............................................................................................................... 29
Security ............................................................................................................................... 30
Role-based Security Model .............................................................................................. 30
Transition Rules ............................................................................................................... 30
Licensing Mechanism ...................................................................................................... 31
5 Copyright© 2011 Validata Group. All rights Reserved No part of this document may be reproduced or transmitted in any form or by any means, for any purpose, without the express written permission of Validata Group.
Introduction
Validata SAS framework is based on an associative data model that distinguishes it from the
relational model or object model systems. The associative system data model has many
advantages like allowing dynamic changes in metadata, coexistence of different object
versions, complex relations between objects, etc. But more important it makes the data
“multi-dimensional” because it allows adding new object types and object relations over
time and combining already existing objects in new complex relations.
Validata SAS provides powerful features such as version control with history, change
management, release management, work and project management, automatic and manual
testing, and accordingly, project impact analysis based on development code changes. The
most powerful mechanism in Validata SAS is its metadata and instances management, used
for creating associative graphs.
Model Driven Approach
Validata SAS framework allows users to create/import models (metadata/templates)
describing the data structure. These models are stored in Validata SAS as Business Object
Definitions (BODs). BODs is a metadata entity containing description of a real-life business
object’s structure, rules and behavior. Validata SAS metadata describes objects structure,
behavior and business rules (such as validation fields, data type, associations, etc).
Validata SAS uses BODs to create models for business objects, external entities such as
database tables, structured files (XML, Excel, comma-separated), etc. Modeling external
entities as BODs allows Validata SAS to perform mapping from external to internal entities
and vice versa.
BODs and associations between them are created and managed in the Business Model
Manager module. Each BOD contains Attributes that represent business object’s
properties/fields. BODs are organized into Catalogs. Each Catalog contains a collection of
related business objects: BODs, which can be organized in Folders. Each Catalogue also
contains attributes, Transformation Rules and other related entities.
BODs are connected via associations to model the complex hierarchies and relationships
between the real-life business objects (e.g. the “Activity” BOD is a child of the “Workflow”
BOD because business process workflows contain sequences of activities).
Based on the created BODs you can create/import, manage and export with/without
transformation the data instances (i.e. rows in a DB Table).
6 Copyright© 2011 Validata Group. All rights Reserved No part of this document may be reproduced or transmitted in any form or by any means, for any purpose, without the express written permission of Validata Group.
Generic Approach
Validata SAS supports generic data as its data modeling capabilities provide a possibility of
customizing it to a great extent. Various data objects can be described and managed with
Validata SAS’s tools.
Validata SAS's generic data model enables users to store and reference data with their own
indexes or unique identifiers (called tags in Validata SAS) that can vary from simple IDs to
complex combinations of multiple attributes (e.g. you can search for Customer instances by
LegalID (single identifier) of a customer as well as Name and Address (multiple identifiers).
Objects are also referenced and identified by their associations to other instances.
Iterative Approach
Validata SAS allows for software development to be executed in iterations. Projects can go
through one or more iterations, which can be named, for example: Prototype, Beta, Release
1.0, etc.
The stages and iterations in software development can be defined by clients’ business
processes. This means that if the client wants to have an iterative process they can create
baselines, with each baseline inheriting the previous one. They can be named, for example:
Alpha, Beta, Prototype, etc.
If the client wants to administer parallel developments with many teams developing
different components and integrating their work along the way, Validata SAS can be
customized to meet this requirement. Any combination of both approaches is also possible.
Adaptive Approach
Being highly customizable, Validata SAS’s metadata can always be modified in order to meet
any new requirements imposing changes in data models (Typicals), associations, workflows,
software development processes, etc.
Any modification in the metadata can be reflected immediately on the existing data if
needed (upgrade of existing instances). For example, when adding a new attribute
LEGAL.STATUS in our Customer data model, Validata SAS can update all existing instances of
the Customer BOD or let only newly created instances to have this attribute. For example, if
there are regression automated tests of external interfaces that use the old Customer
definition they can be rerun to test the backward compatibility of the system with the
external interfaces.
7 Copyright© 2011 Validata Group. All rights Reserved No part of this document may be reproduced or transmitted in any form or by any means, for any purpose, without the express written permission of Validata Group.
Data Transformation
Validata SAS framework allows you to create transformation rules that range from simple
one-to-one BOD schemas to mapping of complex hierarchies containing associated BODs.
This feature allows Validata SAS Mapping Engine to transform practically from any complex
data source to another complex data source, utilizing internal and external Transformation
Rules in the process. The associations between BODs and external structures can be
modeled: starting from flat files to XML structures.
Supported Platforms
Validata SAS utilizes WCF, SQL, OFS, XSD, ODBC, .NET, SOAP and Web Services (WSDL).
Validata SAS can connect to Windows, Linux and AIX-based servers using TCP, FTP and
HTTP(S) protocols.
Supported hosting OS are Microsoft Windows XP Professional SP2 and above, Microsoft
Windows Server 2000 and above, Microsoft Windows Vista Business Edition.
Architecture
Storage Overview
Validata SAS’s architecture adopts Generic Modelling Approach, which basic concepts are
described below:
Business Modelling: A business model is an easy-to-understand representation of
things that are of interest to the business (such as business transactions, products,
customers, sales people and their interrelationships).
Validata SAS uses business models to facilitate the creation, operation and management of
Validata SAS enterprise data warehouses, which provide unique advantages over other data
warehousing approaches.
The business model for a data warehouse represents the things of interest to the business:
Things the business “does” (i.e., business activities such as sales, purchases, etc.)
Measurements we take about these activities
The context within which we want to view this information (i.e. customers,
locations, etc.)
8 Copyright© 2011 Validata Group. All rights Reserved No part of this document may be reproduced or transmitted in any form or by any means, for any purpose, without the express written permission of Validata Group.
The metadata for the business models is held in Validata SAS as a set of data records – the
same way that it handles business reference data (e.g. products and customers).
Model Abstraction: In traditional data warehouse models, changes made at the
conceptual level often translate to changes to the logical and physical layers as well
(causing the high cost and complexity of data warehouse change). In Validata SAS, model
changes are limited to the conceptual level. Rather than defining a business-specific
schema for storing customers and brands, etc., the logical and physical layers are stable,
pre-defined schemas for storing the metadata components that define your business
model, along with the reference data it describes.
The generic modelling approach provides the ultimate level of model abstraction by
identifying and storing every piece of information as an object in its own right. This enables
any number of attributes and relationships to be defined for each individual entity.
Time Variance: Time variance is the ability to analyze the changes that have
occurred in the data storage on metadata or instance data level. Each change can be
isolated and a complete audit trail can be built for each metadata or instance data object
in the whole data warehouse, including the relations between objects represented by
associations.
Storage Architecture
Metadata Storage
The following entities are used in Validata SAS as part of its metadata storage:
Catalogue: Catalogues serve for organizing Validata SAS BODs or Typicals (see
below) in logical structures.
Business Object Definition or BOD also called Typical: things such as a customer,
product, country, etc. They always have 2 attributes – an ID code and name, plus optional
characteristics such as: additional identifiers, numeric and text attributes, relationships
with other BODs, etc.
Transformation Rules: They define how transaction data will be held in Validata SAS
and is defined based on the BODs definition. Transformation rules can be complex with
many functions available for manipulating the data as it is loaded into the database.
Associations at metadata level: Associations define relationships between BODs. Any
number and type of associations can be created. When used on metadata level they can
serve for defining CBOs Hierarchies (Typicals Hierarchies) according to each
9 Copyright© 2011 Validata Group. All rights Reserved No part of this document may be reproduced or transmitted in any form or by any means, for any purpose, without the express written permission of Validata Group.
organization’s specific needs. Metadata storage contains definitions of different
association types that reflect different types of data relations. Association types can be
used on metadata level – to establish relations between different BODs (Typicals) or on
instance data level to establish relations between BOs (Instances).
Example: Metadata Storage in Validata SAS
This storage architecture is very effective in representing models of different banking
systems. With the help of a specialized Validata SAS tool called Typical Updater, the live data
model can be automatically imported or synchronized with the Business Objects in Validata
SAS. This synchronization process and Validata SAS’s model features are flexible enough so
that even special database storage features like multi-values and sub-values can be
translated.
10 Copyright© 2011 Validata Group. All rights Reserved No part of this document may be reproduced or transmitted in any form or by any means, for any purpose, without the express written permission of Validata Group.
Instance Data Storage
Business Objects (also called Data Instances), are representations of real-world
objects (i.e., instances of BODs). They are the actual customers, products, countries etc.
Attributes: A Business Object (or Data Instance) is updated by setting its attribute
values. The attributes types are determined by the BOD that this Business Object belongs
to. One example for attribute is a Person’s employee number.
Associations at data instances level: Any relationships defined between Business
Objects (also called data instances).
History: For all Business Objects (or data instances), history records are preserved
showing all changes, completed with a timestamp. One is always able to track down all
changed values for any attribute of any Business Object and when they were made.
History for associations is also available.
Additionally, a Search Engine based on Objects and Associations is available for managing
data instances. This is a specialized mechanism provided by Validata SAS for accessing and
searching in associative data model storage which allows building very fast Hierarchical
Queries, and is superior and more flexible than the traditional relational model in doing
multiple joins. For details, see the API for Association-Based Search section further in this
document.
Relational Model Views
Validata SAS suite allows you to create custom reports based on built-in Oracle views. For
details, see the Reporting section further in this document.
Migration Staging Area Storage
This is a specialized storage with Reconciliation capabilities aimed at data migration
purposes. Features include:
Audit trail
Complex objects
Exception handling
Data validation
Transformation Mechanism (Transformation Rules or Mapping Schemas)
Reconciliation reports
A detailed description of these features follows:
11 Copyright© 2011 Validata Group. All rights Reserved No part of this document may be reproduced or transmitted in any form or by any means, for any purpose, without the express written permission of Validata Group.
Audit Trail: Each change applied to a business object can be visualized on a field by
field basis. For each change, users can see the transformation rule applied and the
parameters passed to the rule.
Complex Objects: Migration Staging Area’s transformation mechanism can execute
logical transformations that involve multiple storage tables.
Exception Handling: Migration Staging Area’s logic monitors and reports all
exceptions that occur during execution of transformation or validation tasks.
Data Validation: Migration Staging Area features a dedicated Data Validation Engine
with a specialized interface for defining data validation rules. Data Validation processing
can be scheduled as a task in a Migration Staging Area Job.
Transformation Mechanism: A full-featured Mapping Engine with a powerful
Transformation Rule construction interface is provided. The rules can be defined on a
field by field basis.
Reconciliation Reports: Migration Staging Area storage includes a built-in feature for
reconciling each data object and its field values during all stages of its processing –
import, internal processing and export.
Migration Staging Area Storage Architecture
For Data Transformation and Migration purposes Validata SAS provides a dedicated facility
extending Validata SAS’s storage and allowing fast and scalable migration-related activities.
This facility is called Migration Staging Area. The Migration Staging Area storage is based on
a relational data model which is a projection of Validata’s BODs and their relations. The
storage architecture is based on the following principles:
Full Logging: All changes in the data are being logged so the storage can reconstruct
all the states in each object’s lifecycle.
Reconciliation Ready: For each data object the Migration Staging Area keeps track of
its parent data objects or external data, and the Transformation Rules used for its
creation. Thus the family tree of each data object can be provided upon request.
Field-Based Transformation Rules: For every field in a data object, Validata SAS can
determine which Transformation Rules set its value, and what were the actual
parameters passed to these rules.
Task Based: All data modifications in Migration Staging Area are tasks-driven. Tasks
can be scheduled, parallelized, ordered and prioritized. This way, data migration jobs can
12 Copyright© 2011 Validata Group. All rights Reserved No part of this document may be reproduced or transmitted in any form or by any means, for any purpose, without the express written permission of Validata Group.
be planned, prepared and automated. Because each field/value change in the storage
can be tracked down to its Task, Transformation Rule and input data used for computing
it, testing the data migration logic is as efficient as possible.
Full Exception History: All exceptions and errors that arise during import,
transformation or loading tasks are recorded and reported on a field-by-field basis.
Transformation and Validation Tasks
Data migration Jobs can include any number of Tasks. From data manipulation point of view,
tasks can either import data in the Migration Staging Area storage, export data from the
storage via an Adapter or process data within the storage so both the source and target are
tables in the Migration Staging Area storage.
From processing logic point of view, tasks can be validation or transformation tasks.
Validation tasks apply validation rules – they do not change the data but produce logs that
can include validation errors. Transformation tasks use Mapping Schemas to transform
source data objects to target data objects.
Migration Staging Area Reporting Engine
The Migration Staging Area includes an integrated reporting engine that can produce
different report types specific for migration and online data transformation tasks. These
reports are constructed dynamically by the user with the help of a user-friendly Graphical
User Interface. Data-processing in the Migration Staging Area is driven by Tasks so the
reports the user constructs are based on one or more tasks. Some reports are based on a
single task – like doing a summary of an import task. But for others – like building a
Reconciliation Report – users can select several tasks that are logically linked together. In
order to build reports based on many Tasks users must select logical rules for joining data
based on the flexible uniqueness rules defined in Validata SAS storage called Tag Structures.
Using this mechanism, users can build complex reports that can reflect the changes
introduced during many stages of processing the data. For example, by selecting Import,
Transformation and Export Task users can build a reconciliation report that will show the full
migration path of each migrated data object and its field values on each stage of the
migration. And if the Audit Trail feature is selected users will see also a full track of all
transformation rules applied to calculate each field value and the parameters passed to this
rules – so the full logic of data’s transition from the source to the target system is revealed.
The following report types are among the ones produced by the reporting engine:
13 Copyright© 2011 Validata Group. All rights Reserved No part of this document may be reproduced or transmitted in any form or by any means, for any purpose, without the express written permission of Validata Group.
Summary Report: This report provides statistics for the execution of a selected Task
and allows users to dynamically apply configurable grouping and totaling on input or
output data. For example, when transforming Account static data, users can group the
results by Company, Category and Currency and produce sub-totals of their balances.
Validation Report: This report visualizes the results after executing a Validation Task.
Validation Tasks allow users to define one or more validation rules for each field of a data
object. Any Validation Report provides statistics for a Validation Task execution and
displays any problems found on a field-by-field basis.
Reconciliation Report (single-stage or multi-stage): Reconciliation reports match
input to output data on a record-by-record and field-by-field basis – users are able to
track all input fields that were used for generating the value of a target field, their values
and the result value. When a multi-stage reconciliation report is displayed users can
easily track the transformation history of every single record.
Audit Trail Report – this report provides users with detailed information for all
transformation rules that were applied in one or more tasks. Users can inspect each field
value, see the transformation rule used to compute it and the parameters passed to the
rule during the actual execution. This way users can easily audit data objects
transformations during all stages of their migration.
Reporting Engine’s user interface provides rich filtering capabilities for all report types, on
record and field level, allowing users to focus on a specific set of fields and/or specific set of
fields and their values.
All reports produced by the Reporting Engine can be exported to Excel.
Validata SAS Software Architecture
Solution Stack
Following the concepts of its Generic Modelling Approach and Associative Data Model,
Validata SAS uses multiple modules and tools interacting with each other, to allow managing
the entities described above. Validata SAS’s core applications are the Validata SAS Web
Application, Validata SAS Desktop Application and V-CONN. Additional tools included in the
package are Validata SAS Typical Updater
Core Applications:
14 Copyright© 2011 Validata Group. All rights Reserved No part of this document may be reproduced or transmitted in any form or by any means, for any purpose, without the express written permission of Validata Group.
Validata SAS Web Application: Provides Metadata Management Interface;
Management of Manual and Automated Test Scripts; Test Execution Management.
Validata SAS Web Application is the main entry point to Validata SAS’s testing and
Business features. It covers all sides of the testing process beginning with planning,
requirements management, change management, defect management, scripting, test
execution, management of the testing process, bug-tracking, risk management and
reporting.
Validata SAS Desktop Application: Provides Change Management; Requirements
Management; Source Control and Version Management, Release Management and Build
Management. Validata SAS Desktop is used to manage changes and source code during
implementation or development process. Validata SAS Desktop is also used for build and
deployment of the ready source to external target systems (such as Temenos T24).
Being a SOA product, Validata SAS Desktop is fully integrated with existing Validata SAS
application and is designed on the top of Validata SAS’s API.
V-CONN: Provides functionality for Data Import/Export. V-CONN is focused on
linking Validata SAS to many diverse types of data sources. It has data migration
capabilities through the Validata SAS online and offline adapters and allows data
import/export in all data formats supported by Validata SAS – metadata and instance
data.
Other Applications:
Typical Updater: Provides functionality for automatic extraction of Data models
(metadata) and creation of the respective BODs in Validata SAS.
Test Engine: The test engine is used to record user interaction with web and desktop
applications. During automated test execution it is used to drive the execution of web
tests.
Performance Monitors: Agents that are installed on servers under performance
tests. They are used to monitor system performance indicators before, during and after
test execution. Agents are available for Windows and AIX.
Software Modules
Validata SAS software modules are built around three core components: Validata SAS’s
Database, Adapter Gateway and Validata SAS’s APIs. Relations between Validata SAS’s core
components and the other parts of the platform are described it the following diagram.
15 Copyright© 2011 Validata Group. All rights Reserved No part of this document may be reproduced or transmitted in any form or by any means, for any purpose, without the express written permission of Validata Group.
Functional Testing and Migration AdaptersValidata SAS Core Components
External SystemsNative Format Data
Meta Data
Adapter (Web Service)
Platform Independence, Distributed Execution
[Temenos T24], [BugTracking]
AXML
SOAP
Over
HTTP
.NET
Remoting
Direct
Calls
Adapter (.NET Assembly + Remoting Server)
Windows GUI Applications Execution
[WinRunner], [QA Wizard]
Adapter (.NET Assembly)
Performance & Utilization of Native APIs
[CSV], [SQL], [Executables],
[MS Project]
Instance Data
VXML
VMXML
System 1
[MS Windows]
System 2
[Fat GUI Client]
System N
[IBM AIX]
Web Application
V-Conn
Adapter Gateway
AXML
MS Task Scheduler
Validata SAS API
Validata Database
Generic
Database
Metadata
Database
Metadata API
Generic Instance API
Performance Instance API
DALDAL
DAL
DAL
High
Performance
Staging Area
.Net Remoting
Remote Execution 1
Adapter Gateway
Execution Agent
HTTP Performance
Adapter
DataBase
[Oracle/SQL Server]
Application Server
[T24 TCServer]
Web Server
[T24 Browser]
Load Balancer
Remote Execution N
Adapter Gateway
Execution Agent
HTTP Performance
Adapter
System KPIs
Adapter Gateway: Provides Tests Execution functionality and is integration point for
adapters. Also included in Validata SAS Performance Testing Framework.
Adapters: Validata SAS Adapters allow Validata SAS to interact with various external
applications/technologies/ formats, using specific communication channels. For details
about the available adapters see the Validata SAS Adapters section further in this
document.
Validata SAS Configuration Server: This server application installed as a service is
provides fast and effective access of the Validata SAS Desktop Application to the
requirement management, change management and software artifacts stored in Validata
SAS Database. It implements the Validata SAS Configuration Engine – a task based
configuration engine that provides version control and release management functionality
to users of the Validata SAS Desktop Application.
Validata SAS Performance Testing Framework: A propriety solution from Validata
SAS providing HTTP performance testing. In addition to using some of the Validata SAS
core components listed above, this solution includes a few more dedicated tools:
16 Copyright© 2011 Validata Group. All rights Reserved No part of this document may be reproduced or transmitted in any form or by any means, for any purpose, without the express written permission of Validata Group.
o Execution Agent: Software by Validata Group running on all test execution
machines that drives a local Adapter Gateway copy and ports specific test scenario
assigned to this test execution machine.
o HTTP Performance Adapter: A propriety adapter from Validata Group
utilizing simultaneous HTTP request/response executions emulating multiple
virtual users.
o Performance KPI Monitoring Services: Services allowing Validata SAS to
gather data on system performance indicators measured on the system under test:
for example, CPU utilization, RAM usage, and many more.
Data Synchronization Service (also called Validata SAS Synchronization Service): For
details, see the relevant section further in this document.
Alert Notification Service: Provides a messaging bus for exchanging system
messages. For details, see the Message Bus section further in this document.
Validata SAS Software Architecture Overview
Software Layers
Validata SAS’s software modules are organized in different layers and allow implementing
different integration scenarios for existing, future or external (third-party) modules. For
example, one of the most powerful options to integrate with Validata SAS is to build
applications using Validata SAS APIs to work directly with Validata SAS data.
Validata SAS provides extensible APIs and hooks for internal and external components to
allow developers to use and enhance standard Validata SAS features to meet their
requirements. Validata SAS APIs have been designed with simplicity and ease-of-use in mind
and can be easily extended using most development tools on the market today.
Validata SAS APIs available to developers are described below:
17 Copyright© 2011 Validata Group. All rights Reserved No part of this document may be reproduced or transmitted in any form or by any means, for any purpose, without the express written permission of Validata Group.
Validata SAS Architecture
.NET Clients
Adapters Import/Export Web/Desktop GUI
High Level API
Object Cache
Data Services Layer
MS SQL Server
Typicals Instances SetupAssociations Folders Access Control
Oracle
Metadata API
This API provides simple and easy to use objects for accessing Validata SAS Metadata
repository using .NET Framework library. All functionality for creating, reading and
manipulating metadata is accessible to developers.
Data Instances API
This API provides simple and easy to use objects for Validata SAS Instance Data using .NET
Framework. All functionality for creating, reading and manipulating metadata is accessible to
end users.
Migration Staging Area API
This API provides means for accessing objects included in Validata SAS’s HPSA (high-
performance staging area). The High Performance Staging Area is modeled by a set of
database tables for each of the required stages/typicals. This area coexists together with all
the other Validata SAS APIs, addressing a different set of needs. While Metadata API uses a
more generic approach allowing a considerable level of flexibility, Data Transformation and
Reconciliation API is less flexible but guarantees a significant performance gain. This enables
Validata SAS’s V-Conn application to facilitate end-to-end data migration/ETL processes.
The Migration Staging Area API includes the following features:
Create and Execute Import, Export and Transformation Tasks
Create, Read, Update and Delete Migration Staging Area Objects
Create and Execute Summary, Validation, Reconciliation and Audit Trail Reports
18 Copyright© 2011 Validata Group. All rights Reserved No part of this document may be reproduced or transmitted in any form or by any means, for any purpose, without the express written permission of Validata Group.
Transformation Rules API
The Mapping Engine is a native .NET component which can be extended using external
functions and supports event ‘hooks’ during transformation process. This allows developers
to create their own rules for transforming data.
The data mapping process can be enhanced with External Mapping Functions, if internal
mapping functions cannot provide the functionality required. Developers can use .NET
libraries, COM components wrapped in .NET or SQL stored procedures to be called during
import and transformation.
Database API
The database components provide generic access to any database that supports ADO.NET
data access model. They are a thin wrapper over this functionality and mainly marshal the
calls between the high level API and the database management framework.
API for Association-Based Search
Validata SAS provides flexible and easy to use API to search for simple or complex objects
using their attribute values and associations. Validata SAS allows “slicing” through the data
in controlled manner using fast Hierarchical Queries. This allows drilling down the
associations to provide rich searching capabilities for objects.
Configuration Engine API
This is the API for Validata SAS’s Change Management and Version Control functionality.
It enables integration between SAS Server and external clients. Allows working with Release
streams, Change Requests, Tasks, Requirements, and source files/records.
Message Bus
Validata SAS provides messaging bus for exchanging system messages. Current Validata SAS
architecture allows for standalone modules to subscribe for receiving messages generated
by Validata SAS upon raising an event.
Validata SAS’s messaging bus is used for implementing internal Alerts engine used to notify
subscribers (in this particular case, Validata SAS users) for specific internal events. Examples
include alerting for creating new typical, creating new instance. Notification rules can be
customized using Validata SAS’ devoted GUI.
Alerts Engine Overview
The workflow incorporates the following phases:
19 Copyright© 2011 Validata Group. All rights Reserved No part of this document may be reproduced or transmitted in any form or by any means, for any purpose, without the express written permission of Validata Group.
1. Validata users subscribe to events
2. Validata applications raise events
The raised events are examined against the current subscriptions and the proper subscribers
get notified. Notifications are broadcasted simultaneously to Validata Web, Validata
Desktop, and optionally, subscriber’s email.
This means that the user can write some code and attach it to an event. Such code can
probably check some conditions and thresholds and send further notifications.
KPI Recalculator Example
Adapters
General
Validata SAS adapters are interfaces/connectors to the outside world that use specific
communication channels. They can be divided into two main groups: online and offline.
Functional (Online) Adapters Overview
Online adapters are those that are executed online initiated by Validata SAS user actions.
Built-in adapters are those that come with Validata SAS packaged and ready to use. They can
be used directly by Validata SAS users to run tests or import/export data.
The term Hot pluggable adapters stands for all kind of adapters which can eventually be
developed by Validata Group or Validata Group clients, and which can interoperate with
20 Copyright© 2011 Validata Group. All rights Reserved No part of this document may be reproduced or transmitted in any form or by any means, for any purpose, without the express written permission of Validata Group.
Validata SAS’s generic features. They provide a way to integrate functional interfaces of
external systems with Validata SAS without changing it.
General built-in adapters:
o CSV Adapter: For importing CSV data and exporting data to CSV files
o SQL Adapter: Supports tables and stored procedures, used for importing
data from SQL tables and calling stored procedures
o Executable Adapter: Executes a target executable files supplying a set of
runtime parameters
o Web Adapter: Executes scripts driving and testing target web applications
using an Internet Explorer web browser.
Specialized built-in adapters:
o T24 Adapter: For importing/exporting data from/to Temenos T24 system
and Test Execution with OFS protocol
o T24 Web Adapter: For execution of test scripts using Temenos T24 web
browser interface
o T24 Desktop Adapter: For execution of test scripts using Temenos T24
desktop interface
o Build Control Adapter: For deployment of specialized packages (patches) to
Temenos T24 platform
o SWIFT Adapter: For execution of specialized scripts for testing the SWIFT
interface of a banking platform
o ISO8583 Adapter: Used for testing communication between Bank Switches
and T24.
o MS Project Adapter: For synchronizing Validata SAS’s project management
units with Microsoft Project plans
o Seapine Test Track Pro
o Siron AML Adapter: For importing/exporting Siron data
o Calypso Adapter: For using XSL transformations
o T24 Post Message Adapter: Allowing Validata V-Conn to export records to
T24 using OFS post messages
Performance adapters
21 Copyright© 2011 Validata Group. All rights Reserved No part of this document may be reproduced or transmitted in any form or by any means, for any purpose, without the express written permission of Validata Group.
o HTTP Performance Adapter: Generic adapter for testing web applications
performance
o T24 HTTP Adapter: Specialized adapter with dedicated capabilities for
measuring the performance of Temenos T24 Browser (Web application).
Hot pluggable adapters:
o DLL Hot Pluggable Adapters: The DLL adapters are .NET assemblies which
are loaded and called on demand. They implement specific interface which is
discovered run time through reflection and its methods are called dynamically.
They are loaded into the Adapter Gateway application domain. The DLLs of these
adapters can be put into any folder on the machine where Validata SAS is installed.
o SOAP Hot Pluggable Adapters (Web Services): The SOAP adapters are Web
Services which can be implemented in using any platform and language which
support SOAP communication over HTTP. Validata SAS supports the two SOAP
communication styles:
Document style (Microsoft .NET Web Services and other newer
implementations)
RPC style (many old web services implementations)
Online adapters can also be used to import and export data from Validata SAS.
Example: End-to-End Testing with Validata Adapters
Almost all Validata SAS Adapters are integrated with the Validata SAS Test Execution Engine
implemented in the Adapter Gateway module. Thus Validata SAS Test Scripting seamlessly
integrates the execution of test steps based on different adapters in an integrated end-to-
end test scenario that can cover interaction with several different systems. Scenarios can
involve any combination of adapters. For example, a complicated end-to-end scenario can
involve an ATM transaction received via ISO-8583 interface, T24 blocking of amounts and
payment reconciliation through Temenos T24 Nostro accounts or testing outgoing Fund
Transfers and checking the generated SWIFT messages.
All these testing scenarios are data-driven where data is represented in human-readable
form in Validata SAS instances. Following is a screenshot of an instance created by the ISO-
8583 adapter upon receiving a SwitchRequest message.
22 Copyright© 2011 Validata Group. All rights Reserved No part of this document may be reproduced or transmitted in any form or by any means, for any purpose, without the express written permission of Validata Group.
Another end-to-end scenario could include SWIFT communication that can be tested using Validata’s
SWIFT Adapter. Following is a SWIFT message parsed by the Validata SWIFT Adapter
And a view of executed Validata SAS test scenarios for outgoing Fund Transfers.
23 Copyright© 2011 Validata Group. All rights Reserved No part of this document may be reproduced or transmitted in any form or by any means, for any purpose, without the express written permission of Validata Group.
Offline Adapters Overview
Offline adapters are invoked indirectly based on settings created by Validata SAS users. They
may be initiated by an event that is internal or external for Validata SAS. As a whole, they
are used for transferring instance data, and for transferring metadata. Some of them are not
standalone modules in Validata SAS, but can be described as a set of functions:
Using Mapping Schemas for transforming data.
Using Test Script Objects for generating Folders, Test Cases, Test Steps, Test Data.
Specifying automation details (System/Interface etc.)
Using any XML generating approach: MS XML APIs, Java XML APIs, XSL
transformations, Generating XML using standard text writing APIs.
Using XSD for defining a BOD in Validata SAS: Another option is to specify the
metadata as XSD. Then the metadata can be imported with the Typical Updater tool.
Data Synchronization Service
Validata Synchronization Service is used to perform real time on-line data synchronization.
24 Copyright© 2011 Validata Group. All rights Reserved No part of this document may be reproduced or transmitted in any form or by any means, for any purpose, without the express written permission of Validata Group.
The Synchronization Service (SS) integrates Validata’s Metadata and Instance API, Adapters,
V-CONN and synchronization specific components into a framework that can be configured
to carry out online and continuous data extraction or data loading services
The Synchronization Service components runs as Windows Service and is installed as part of
the standard Validata installation.
HTTP Performance Adapter
Validata offers fully-functional HTTP Performance Testing Framework powered by its
dedicated HTTP Performance Adapter.
HTTP Performance Adapter is specially designed to allow Validata SAS utilize multiple
physical or virtual machines for execution of test cycles. This feature can be used for
Performance testing (load, stress testing), allowing Validata SAS to provide the necessary
load to any system under test.
Basically, HTTP Performance Adapter allows Validata execute T24 HTTP performance tests,
and report the results. A copy of HTTP Performance Adapter would run on each tester (or
virtual) machine participating in the performance testing process. These HTTP Performance
Adapters collect information from the machines composing the infrastructure of the system
under test.
The HTTP Performance Adapters’ coordinator and controller (Validata SAS’ Adapter
Gateway) communicates with all HTTP Performance Adapters in parallel and collects
information from them during the test execution. These adapters are implemented as TCP
services and respond to commands sent by the controller.
The distributed test execution architecture allows for execution of test cycles contained in
Batch Jobs on multiple machines within the intranet. The normal test cycles that are not
included in batch jobs are executed on a Validata server, while the test cycles within batch
jobs can be executed on other machines (called Injector Machines) on which Validata
Execution Agents are running.
For distributed execution, Validata’s AdapterGateway serves to synchronize the
Performance Testing operations while executing the test cycles. It divides the batch job test
cycles to equal (or almost equal) portions of test cycles. Each test cycle portion is sent to an
available Validata Execution Agent running on a physical or virtual machine (Injector
25 Copyright© 2011 Validata Group. All rights Reserved No part of this document may be reproduced or transmitted in any form or by any means, for any purpose, without the express written permission of Validata Group.
Machine). Additionally, each cycle is assigned a unique T24 user, to avoid users logging out
each other.
Each Injector Machine must have access to Validata’s DB in order to be able to load the test
cycle data and to write the results of the execution.
Example: Validata SAS Performance Testing Framework
The following example demonstrates two of the most important stages in Validata SAS’s
Performance Testing process: executing a test cycle and viewing one of the multiple results
reports offered by Validata SAS Performance Testing Framework.
Reporting with Validata Performance Results Processor, part of Validata SAS Performance
Testing Framework
26 Copyright© 2011 Validata Group. All rights Reserved No part of this document may be reproduced or transmitted in any form or by any means, for any purpose, without the express written permission of Validata Group.
Data Services
Data services in Validata SAS are implemented using the Metadata API and the Data
Instances API. These APIs provide a level of abstraction over the actual database storage.
SQL Server Connectivity
This feature allows accessing Validata SAS database on a SQL Server.
Oracle Connectivity
This feature allows accessing Validata SAS database on an Oracle Server.
Metadata API
General
The Metadata API is used for creating and maintaining metadata, for example BODs,
attributes, associations and other structure definitions. It exposes an object-oriented view to
the functionalities for manipulating metadata.
The application is accessible for multiple concurrent users via its Web-based user interface.
This is achieved with a multiple-tiers architecture allowing operations in a distributed
environment.
The platform API allows third party service providers to build external applications accessing
the platform using well known protocols like SOAP. This application programming interface
is also available for COM enabled legacy applications.
Functions:
Managing catalogues and access rights
Managing BODs
Managing attributes
Managing associations
Attribute Groups management
Example: Creating a Catalog and a BOD with Metadata API
An example for creating a Catalog and a BOD with Metadata API follows:
27 Copyright© 2011 Validata Group. All rights Reserved No part of this document may be reproduced or transmitted in any form or by any means, for any purpose, without the express written permission of Validata Group.
API Interoperability
The application middleware API is available for external systems via well known protocols.
The platform supports remote procedure calls via SOAP over HTTP channel. This allows any
external system understanding SOAP to use the API and provide additional functionality.
Legacy support
The middleware API is accessible for legacy applications that cannot directly use .NET
component libraries. This is achieved by exposing the .NET component as COM automation
compatible object. The COM enabled application is able to access the component via CCW.
Data Instances API
Instance management involves instances creation and manipulation, setting up associations,
locating, modifying and consolidating instances. It supports transactions during import and
export operations without restrictions to the data volume. It exposes an object-oriented
view to the functionalities needed to manipulate instance data.
The Data Instances API is designed to provide a safe and fast method for working with
instance data. Data Instances API uses a transaction-like mechanism for working with
instance data. Creating, updating or deleting specifics, creating or deleting associations do
not actually take place before a special method (Flush) is executed. The advantages are that
different Validata Group clients are insulated of the changes until they are committed.
The Data Instances API contains a powerful method for searching instance data based on
dynamic queries and association. For details, see the API for Association-Based Search
section in this document.
28 Copyright© 2011 Validata Group. All rights Reserved No part of this document may be reproduced or transmitted in any form or by any means, for any purpose, without the express written permission of Validata Group.
Caching in Data Instances API
This API features a smart client-level caching mechanism. All intended changes are
accumulated at the client side and are committed in one command to the database where
they are consolidated with existing data. This approach guarantees the consistency of the
data because all the changes are committed as single transactions.
Client caching in the Data Instances API includes handling of Instances, Associations and
Attributes.
This approach gives a better performance because changes can be conveniently grouped
into packages, and applied package by package, making communication with the database
more efficient.
Reporting
Built-in HTML Reports
These reports are converged in the Executive dashboard module in Validata SAS Web. They
combine data from Validata SAS with data from external applications.
Publishing Validata SAS Business Data through Validata SAS API
This feature provides API level support for associations drill-down of associated instance
data (see API for Association-Based Search).
Publishing Validata SAS Business Data through Relational Model
Views
Validata SAS suite allows you to create custom reports based on built-in Oracle views. These
Oracle Views expose the relational model of Validata SAS business data and allow the user
to execute queries directly or to integrate these views to a reporting engine. A simple and
popular ways to use this data is by presenting it in Microsoft Excel with Pivot Tables.
Traceability Reports
Validata SAS is an ALM solution that provides integration across the different aspects of the
software development and testing processes. This integration covers the Requirements
Management, Change Management, Planning, Configuration Management, Test
Management and Defect Management. A good illustration of this integration are the
29 Copyright© 2011 Validata Group. All rights Reserved No part of this document may be reproduced or transmitted in any form or by any means, for any purpose, without the express written permission of Validata Group.
Traceability Reports that allow users to monitor relationships among different types of ALM
objects. An example follows for Execution Matrix Report, part of the Traceability Reports set.
XML support
Validata SAS is working actively with its native custom AXML, VXML and VMXML formats,
and uses XSD schemes.
XSD Files
Validata SAS Typical Updater tool can be used to import XSD files that contain database
entities definitions, as Validata SAS BODs. Typical Updater also allows users to choose a
catalogue where the newly created object will be added. This way, users can easily populate
their own catalogue with data objects.
AXML Format
The AXML format is an XML format for exchanging data between Validata SAS adapters
(except offline adapters) and Adapter Gateway.
VXML Format
VXML is an XML data format for importing and exporting instances. Files in this format can
be directly imported to Validata SAS.
VMXML Format
Validata SAS Metadata XML format (VMXML) allows importing metadata into Validata SAS
using V-CONN.
30 Copyright© 2011 Validata Group. All rights Reserved No part of this document may be reproduced or transmitted in any form or by any means, for any purpose, without the express written permission of Validata Group.
Security
Role-based Security Model
The fundamental concepts in Validata SAS Web Application Access Rights Management are
users, roles, access rights (permissions), and transition rules. The roles define the allowed
operations that a user in this role can perform (it simply lists his rights). This will grant all
members of a role a specific level of access. A user can be assigned to multiple roles, and
he/she can perform any action granted by at least one of his/hers roles. Roles are not
predefined, but need to be set for each Validata SAS installation.
In Validata SAS Web, permissions are granted for each Web module (for example for
creating defects, editing defects, etc.). In Validata SAS Desktop, Roles define the
functionality that will be available for a user in Validata SAS Desktop. For example, one may
have permissions to work with source files only, to create Release streams and Release
iterations, etc.
Roles are assigned to a discipline (a discipline is used as a folder for roles). A discipline is
assigned to a project, which prevents disciplines and roles from being reused across
projects. On the other hand, users are global for all projects.
Transition Rules
Transition rules define permitted values and permitted actions for an attribute in Validata
SAS Web, defined for roles. This way any specific user will be allowed to work with specific
objects only and perform specific operations in Validata SAS.
Using Transition rules in Validata SAS Web, administrators and other authorized users can
grant certain permissions to the available roles. This process is very flexible and can lead to
defining virtually infinite number of roles by combining different settings.
The access control is currently implemented at the user interface level. If an operation is not
allowed the access to it is disabled.
31 Copyright© 2011 Validata Group. All rights Reserved No part of this document may be reproduced or transmitted in any form or by any means, for any purpose, without the express written permission of Validata Group.
Licensing Mechanism
Validata SAS uses licensing keys to define permissions. Permissions are granted:
By product (for example, Validata SAS WEB, Validata SAS DESKTOP, V-Conn, Typical
Updater, T24 Data Compare tool), and additionally by product module
By date (start and end dates)
By number of licenses (active users allowed)v