-
Notifications
You must be signed in to change notification settings - Fork 0
AutoQuery Data
AutoQuery Data is a new implementation that closely follows the dev model you're used to with AutoQuery RDBMS where any experience gained in creating RDBMS AutoQuery Services previously are now also applicable to Querying alternative data sources as well.
All features from AutoQuery RDBMS except for the RDBMS-specific Joining Tables and Raw SQL Filters features also have an equivalent in AutoQuery Data as well.
Like AutoQuery you can declaratively create AutoQuery Data Services using just Request DTO's but instead of
inheriting from QueryDb<T>
you'd instead inherit from QueryData<T>
, e.g:
//AutoQuery RDBMS
public class QueryCustomers : QueryDb<Customer> {}
//AutoQuery Data - Multiple / Open Data Sources
public class QueryCustomers : QueryData<Customer> {}
The API to call and consume both RDBMS AutoQuery and AutoQuery Data Services are indistinguishable to
external clients where both are queried using the same
implicit and
explicit conventions
and both return the same QueryResponse<T>
Response DTO.
A direct result of this means you can reuse AutoQuery Viewer to access a rich auto UI for querying all AutoQuery implementations together in the same UI, whether queries are served from an RDBMS or an alternative data source.
AutoQuery Data supports an Open Data provider model requiring an extra piece of configuration Services
need to function - the Data Source that it will query. Data Sources are registered with the
AutoQueryDataFeature
plugin by calling using its fluent AddDataSource()
API to register all Data Sources
you want available to query.
At launch there are 3 different data sources that are available - all of which are accessible as
extension methods on the QueryDataContext
parameter for easy discoverability:
Plugins.Add(new AutoQueryDataFeature()
.AddDataSource(ctx => ctx.MemorySource(...))
.AddDataSource(ctx => ctx.ServiceSource(...))
.AddDataSource(ctx => ctx.DynamoDBSource(...))
);
AutoQuery Data Open Provider model supports querying of multiple data source back-ends. The 3 data source providers available include:
- AutoQuery Memory - for querying static or dynamic in-memory .NET collections, some example uses include showing querying a flat-file .csv file and querying a throttled 3rd Party API with it's built-in configurable caching.
-
AutoQuery Service - a step higher than
MemorySource
where you can decorate the response of existing Services with AutoQuery's rich querying capabilities. - AutoQuery DynamoDB - adds rich querying capabilities over an AWS DynamoDB Table, offering a leap of greater productivity than constructing DynamoDB queries manually.
- Why ServiceStack?
- Important role of DTOs
- What is a message based web service?
- Advantages of message based web services
- Why remote services should use separate DTOs
-
Getting Started
-
Designing APIs
-
Reference
-
Clients
-
Formats
-
View Engines 4. Razor & Markdown Razor
-
Hosts
-
Security
-
Advanced
- Configuration options
- Access HTTP specific features in services
- Logging
- Serialization/deserialization
- Request/response filters
- Filter attributes
- Concurrency Model
- Built-in profiling
- Form Hijacking Prevention
- Auto-Mapping
- HTTP Utils
- Dump Utils
- Virtual File System
- Config API
- Physical Project Structure
- Modularizing Services
- MVC Integration
- ServiceStack Integration
- Embedded Native Desktop Apps
- Auto Batched Requests
- Versioning
- Multitenancy
-
Caching
-
HTTP Caching 1. CacheResponse Attribute 2. Cache Aware Clients
-
Auto Query
-
AutoQuery Data 1. AutoQuery Memory 2. AutoQuery Service 3. AutoQuery DynamoDB
-
Server Events
-
Service Gateway
-
Encrypted Messaging
-
Plugins
-
Tests
-
ServiceStackVS
-
Other Languages
-
Amazon Web Services
-
Deployment
-
Install 3rd Party Products
-
Use Cases
-
Performance
-
Other Products
-
Future