This project is read-only.

Zen4Sync Philosophy

This page presents the major concepts ruling Zen4Sync.
If you've never heard of Zen4Sync, this page will allow you to quickly grasp what it does and how it does it.

What is Zen4Sync ?

Zen4Sync is an orchestration and load test platform able to validate any SQL Server Merge Replication based Architecture.
Zen4Sync can make sure that your SQL Server Merge Replication based Architecture :
  • Resists high load : up to thousands of clients synchronizing at the exact same time
  • Properly handles your business logic : Zen4Sync can run your own code so you can validate any business scenario

What is a Zen4Sync Test Session ?

One of the main concept of Zen4Sync is the Test Session.
A Test Session is the execution of Test Scenarios by as many Clients as you want.
So it's the combination of two things : Test Scenarios and Clients.
  • Test Scenario : it's a chaining of Activities. An Activity is an atomic task performed by a Client.
  • Client (or Zen4SyncClient) : it's the Zen4Sync representation of a client of your SQL Server Merge Replication based Architecture.

What can be done in a Test Session ?

A Test Session relies on Test Scenarios. A Test Scenario is a chaining of Activities.
Consequently, the possibilities offered by a Test Session are the possibilities offered by the Activities.

Zen4Sync comes with 7 different activities :
  • Merge Synchronization : A Client synchronizes its local database with a publisher of your SQL Server Merge Replication based Architecture.
  • SQL Server Execution : A Client executes SQL queries on a SQL Server database.
  • SQL Server Check Data : A Client executes a SQL query on a SQL Server database and the value returned by the query is compared to an expected value.
  • SQL CE Execution : A Client executes SQL queries on a SQL CE database.
  • SQL CE Check Data : A Client executes a SQL query on a SQL CE database and the value returned by the query is compared to an expected value.
  • SQL CE Backup : A Client saves a SQL CE database by sending it to the Zen4Sync Orchestrator.
  • MEF Component Execution : A Client executes a method of a MEF Component that you've coded and deployed into Zen4Sync (more information about the MEF extension of Zen4Sync)

How is a Test Session executed ?

A Test Session involves all the Zen4Sync components : the Orchestator, one or more Test Servers and as many Clients as needed by the Test Scenario.

233483

The Orchestrator calls all the Test Servers involved in the Test Session. A Test Session execution can be distributed between as many Test Servers as you want : each Test Server being a different machine.

Each Test Server then starts all the Clients needed by the Test Session. The Clients run on the same machine as the Test Server which started them.

Each Client then executes all the Activities contained in its Test Scenario.

Zen4Sync Glossary

Here are all the terms used when talking about Zen4Sync.
  • Orchestator : The Orchestrator is the Zen4Sync main component. It's responsible for storing all data about Test Sessions and for starting Test Sessions.
  • Test Server : A Test Server is responsible for executing Clients. It executes as many clients as needed for a given Test Session. It starts executing Clients when the Orchestrator asks him to.
  • Client or Zen4SyncClient : A Client is the Zen4Sync representation of a client of your SQL Server Merge Replication based Architecture. It runs on a Test Server and performs Activities of a Test Scenario.
  • Test Session : A combination of Test Scenarios executed by Clients on one or more Test Servers.
  • Test Scenario : A chaining of Activities.
  • Activity : An atomic task performed by a Client.
  • Activity Context : Allows to specify a context for a given Activity executed by a given Client.
  • Client Test Session Descriptor : To know the details of the Test Scenario it has to execute, the Client uses an XML file describing the content of the Test Scenario. This file is generated by the Test Server before launching the Client. This file is called a Client Test Session Descriptor.

Last edited May 16, 2011 at 4:35 PM by Christophe_, version 12

Comments

No comments yet.