Embedded Cloud Workflow Engine (ECW) is a self contained J2EE complaint application. You can download and install on any J2EE compliant container and get started in no time.
The following distributions are available for use:
Zip | TODO | |
Docker |
| |
Amazon AWS | Linux: |
ECW comes with a default setup where the Partner app needs to provide a storage for the User Configurations. These configurations are "connections" that end users will setup to connect to their end application. For example, if the Partner App relies on a database to run its platform, then the one end is likely to be static, while the connecting application for example an Accounting application like QuickBooks, will vary from customer to customer. 'sys_partner_app_config' is the table where the engine will store and fetch these connector access / login details to perform the integration. Note that DBSync Cloud Platform will not ever store the customer specific connection information.
CREATE TABLE `sys_partner_app_config` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `username` varchar(50) NOT NULL, `profile` longtext, `created_date` timestamp NULL DEFAULT NULL, `modified_date` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `id` (`id`), KEY `username` (`username`) ); User Runtime Table Schema CREATE TABLE `sys_partner_app_runtime` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `username` varchar(50) NOT NULL, `process` varchar(50) NOT NULL, `session_properties` text, `created_date` timestamp NULL DEFAULT NULL, `modified_date` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `username` (`username`), KEY `process` (`process`) ); |
When integrations run, it will produce data flow logs. Each log will be saved in 'sys_dataflow_log' table. Partner app developer should design and administer these tables and manage storage. ECW will "NOT" be truncating or managing this table. It is recommended to add a cron script to delete logs every so many days.
CREATE TABLE `sys_dataflow_log` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `username` varchar(50) NOT NULL, `name` varchar(50) DEFAULT NULL, `records_processed` varchar(20) DEFAULT NULL, `message` text, `log_messages` longtext COMMENT 'Log messages for processed data for c2c', `created_time` datetime DEFAULT NULL, PRIMARY KEY (`id`,`username`), UNIQUE KEY `id` (`id`) ) |
There are 2 sets of files that will need to be configured
Location: (inside “www/WEB-INF/conf/” folder)
Property | Description | |
---|---|---|
partnerAppKey | Required | Will be provided by DBSync |
partnerAppToken | Required | Will be provided by DBSync |
partner.database.driverClassName | Required | Profile Details and Logs are stored in Database, for this property, provide the Database driver class name. For example : for mysql database, this property will be com.mysql.jdbc.Driver |
partner.database.url | Required | Profile Details and Logs are stored in Database, for this property, provide the Database Url along with Database name. For example : for mysql database, this property will look like jdbc:mysql://<ServerName>:<Port>/<Database Name>. |
partner.database.username | Required | Profile Details and Logs are stored in Database, for this property, provide the Database Username. |
partner.database.password | Required | Profile Details and Logs are stored in Database, for this property, provide the Database Password. |
dbsync.logger | Optional | If you don’t want to store the logs in the default database and want to store the logs in other database, then enable this property. Property value will be constant : com.mydbsync.cw.embedded.EmbeddedLogger |
log.database.driverClassName | Optional | Provide the Driver class name. |
log.database.url | Optional | Provide the Database Url along with Database Name. |
log.database.username | Optional | Provide the Logging database Username. |
log.database.password | Optional | Provide the database Password. |
partner.profile.template | Optional | profile.xml is the file, where all connector properties are stored. If you have profile.xml and want to use it as template, then provide the absolute path of profile.xml |
partner.app.<process>.pdl | Required | <process> is the built process accessible to this runtime engine. |
Location: (inside “www/WEB-INF/conf/” folder). Also see "partner.profile.template" property above in case you want to store it outside of the default installation (Recommended)
This file contains all connector properties. Connector properties are the application properties, from where and to where, you sync the data. All connector properties are closed within <adapters> root tag. Each specific connector will be enclosed within <adapter> tag.
There are 2 ways to generate this file
Use notepad to create your default setup (Advanced Users)
<?xml version="1.0" encoding="UTF-8"?> <profile id="localhost@avankia.com" name="Salesforce_to_Database" loglevel="ALL" email="" guid="325735D5"> <adapter name="mysql" type="com.avankia.appmashups.engine.conversion.adapters.DatabaseAdapter"> <property name="password" encrypted="false" >XXXX</property> <property name="url">jdbc:mysql://localhost:3306/dbsync</property> <property name="autocommit">true</property> <property name="adp_name">mysql</property> <property name="driver">mysql</property> <property name="dbname">dbsync</property> <property name="username">root</property> </adapter> <adapter name="Salesforce" type="com.avankia.appmashups.engine.conversion.adapters.SalesforceAdapter"> <property name="securityToken" /> <property name="sid">XXXX</property> <property name="transport.compression" /> <property name="username">abc@def.com</property> <property name="refreshToken">AAA</property> <property name="password" encrypted="false">YYYY</property> <property name="endpoint">https://login.salesforce.com/services/Soap/u/32.0</property> <property name="adp_name">Salesforce</property> </adapter> </profile> |