Powerful Google developer tools for immediate impact! (2023-24 C)
synquery platform
1. synquery web-platform TM
Technology Overview
East Cloud, Inc.
May 6th, 2011
synquery platform technology overview (c) 2010-2011 East Cloud, Inc. Allright reserved
2. synquery TM
as a platform
client server
● synquery is a platform for configurable web-system.
● just deploy a small RSD script = system configuration
● synquery provides seamless connection between client
and server with event loop & web sockets.
● main system residents at browser (in application cache)
● server just provide data and RSD (light load!)
synquery platform technology overview (c) 2010-2011 East Cloud, Inc. Allright reserved
3. synquery TM
provides:
● NoSQL / non database-oriented system architecture.
○ system just refers ”synchronized” client hash.
○ changes from others apply to client by broadcasting
● no event & timing related design.
○ embedded event-driven architecture
● automatic form and table generation.
● printable report/voucher creation (in PDF/SVG/HTML).
● i18n compliance (automatic language translation)
● designer just writes a short RSD (relational-structure-
description) scripts for application.
● RSD is a "socket" to configure synquery-platform!
● RSD is text-base: allow you to copy & paste the system!
synquery platform technology overview (c) 2010-2011 East Cloud, Inc. Allright reserved
4. >10.0 >5.0 >4.0
>11.0 >9.x
event driven architecture
internal hash orient
strong engines
LOG
- calculation
- graphic
- documentation
events
web socket interface
- improved connectibity
events - broadcasting
synquery TM
to sever & other clients Architecture of client system
synquery platform technology overview (c) 2010-2011 East Cloud, Inc. Allright reserved
5. Scale-out and Failover
config server Shard 1 Shard 2 Shard(n)
mongoDB router
application server
synquery platform technology overview (c) 2010-2011 East Cloud, Inc. Allright reserved
6. Public Cloud or Private Cloud?
=> synquery provide "Hybrid Cloud" environment easily
by encapsulated & distributed data site architecture
public cloud
- huge
- incremental
- accumulative
- prodigal ...
internet
- confidential
- rather small
- independent
"relations" are constructed optional in-house server
in "client hash" with synquery
(no JOIN statement)
synquery platform technology overview (c) 2010-2011 East Cloud, Inc. Allright reserved
7. Network securities in synquery™
synquery™ 'javascript native-object
wrapper' prevents user & developer's illegal access.
access
allowed -
servers - servers
with bad faith
SSL
Access Token Protocol
Loggers
synquery™
No secret deal with synquery™ through other servers.
synquery platform technology overview (c) 2010-2011 East Cloud, Inc. Allright reserved
8. ACID in synquery™ with
Atomicity
synquery™ supports commit and rollback in a transaction.
Consistency
synquery™ automatically rolls back
when an error occurs in a transaction.
Isolation
In isolation levels, synquery™ supports both
READ UNCOMMITTED for real-time web communications
and SERIALIZABLE for analytical calculations.
Durability
Through 'Journaling' supported by mongoDB
with additional synquery™ implementations.
synquery platform technology overview (c) 2010-2011 East Cloud, Inc. Allright reserved
9. Summary: Benefits of synquery
■ Performance and Quality of system
● Real-time web system (web sockets + event loop)
● Target system is built on a platform == keep uniformity
● Similar operability as conventional client-server system
■ Security of system
● SSL-enabled web socket interface to the targeted port
● No data remains in client's hard disk (data volatility)
● Distributed data site: confidential data can stay in-house
■ Time to service / time to market
● High productivity with RSD script
● Reusability of existing sub-system
● Automatic translation from dev-language to target
■ Easy maintenance
● System specification sheets can be generated
● Add and delete parameters of the system in seconds
synquery platform technology overview (c) 2010-2011 East Cloud, Inc. Allright reserved
10. Project & RSD in synquery
● Project is a "system body" to be released.
● Project has property of "shared or enclosed".
● Shared project is accessible from all users.
● Enclosed project is for limited users (=members).
● Project consists of several RSD. (minimum = 1 RSD).
● Project shares a database.
● Enclosed project manages users to login.
● RSD has properties of "owner" and "public or private".
● Only owner and permitted users from the owner can edit RSD.
● Public RSD is readable and can be folked.
● Private RSD is sent to clients with encryption.
11. synquery™ comparison to conventional web system
Database DB access via SQL key-value-index access to DB
field sets JSON(BSON) structure
= Limitation form field and column = free string length/Array/Object/Image ...
Data Relation Join in RDBMS (DB server) Hash table reference at client side
Data Ware BI tools DWH / Batch Map-reduce (on-the-fly)
Communication http / multi-thread (C10K) web socket / event loop
Data Scheme MVC in server side RSD share client and server
12. synquery™ "mapReduce friendly" architecture
ECBOOK.prototype.mapReduce
= function(map, reduce, options, callback) { ... };
map: function() {...} , reduce: function(key, values) {...},
options: { query: ..., finalize: function(key, values) {...}, ...}
mongodb-native interface of map reduce
ECBOOK.prototype.xReduce
= function(reduce, callback) { ... };
automatic map with json expansion and reduces to table
ECBOOK.prototype.taf (Time-domain Associated Folding)
= function(callback) { ... };
totalize data for each period of time,
and save as an associative array
synquery platform technology overview (c) 2010-2011 East Cloud, Inc. Allright reserved
13. Big benefit from the latest technologies
We are using
javascript, jQuery,
HTML5, CSS3,
node.js, NoSQL, …
for developing synquery
synquery platform technology overview (c) 2010-2011 East Cloud, Inc. Allright reserved
14. Why javascript?
● native language for web browser.
● strict, robust and object-oriented, but flexible.
apply() / call() / eval() etc.
● fast as much as compilers’ (compiled inside browser).
● server support (we can use same language).
Why jQuery?
● almost de-facto standard in javascript descriptions.
● shorter scripts with higher functionality.
● compatibility between browser and operating system.
● mobile support (jQuery-mobile).
synquery platform technology overview (c) 2010-2011 East Cloud, Inc. Allright reserved
15. Why HTML5 & CSS3?
● W3C made a great standardization!
● web sockets for faster and secure communication.
● multi-threads acceleration with web workers.
● local/session storage and application cache
for better applications.
● great pictures with canvas / SVG over CSS3.
...
synquery platform technology overview (c) 2010-2011 East Cloud, Inc. Allright reserved
16. Why node.js?
● event loop & web socket (send and broadcast)
● fast enforced by google V8 engine.
● same language as client system.
Why NoSQL = mongo?
● faster gets & puts and no-JOIN statements.
(key-value and index)
● scalability & reliability over huge system like cloud.
(sharding / replication)
● good atomicity and consistency.
● map-reduce support.
synquery platform technology overview (c) 2010-2011 East Cloud, Inc. Allright reserved
17. However !
● only few engineers can work
with deep-world of javascript...
○ asynchronous architecture
○ deep event handling etc...
● too many new technologies to take care...
○ old development style (water-fall)
doesn't meet modern agile
=> Need a platform to solve the issue
and expand its wonderful world!
"We would like to share the benefit"
synquery platform technology overview (c) 2010-2011 East Cloud, Inc. Allright reserved
18. Come on with synquery!
WYSIWYG!
What You "Script" Is What You Get!
synquery platform technology overview (c) 2010-2011 East Cloud, Inc. Allright reserved