Resco MobileCRM

Resco MobileCRM
Technological overview
Juraj Mojik
o Overview of Studio
o Woodford
o MobileERP introduction
Resco MobileCRM
o 3 parts :
o Application
o Woodford
o Studio
o Source code + compilation = application
o Integrated tools
o Woodford
o iOS, Android, WM, W7, WP7
o Different projects, but all in C# .NET
o Offline -> local database
.NET Runtime
Apple iOS
Xamarin MonoTouch Framework
Xamarin Mono for Android
Windows Mobile
MS .NET Compact Framework 3.5
Windows Phone
Silverlight for Windows Phone
Windows Slate
MS .NET 3.5
Solution structure
o Layer architecture
o Top layer - platform independent
o Bottom layers - platform specific
o Interfaces for comunication between PI and PS code
o Top layer is common for all platforms
o Layers = Visual Studio projects
o MobileCRM: top level project (your custom
o Resco.UI, Resco.Data: set of UI and Data
interfaces (CRM independent)
o Resco.UI.Platform, Resco.Data.Platform:
implementation of those interfaces
o MobileCRM.UI, MobileCRM.Data: common
CRM UI and Data logic and classes
Architecture overview PI
your customized application
(Common CRM logic,
(Common CRM user interface,
base classes)
Platform Abstraction Layer (Resco.Data, Resco.UI Interfaces)
Architecture overview PS
Platform Abstraction Layer (Resco.Data, Resco.UI Interfaces)
(Database Access)
(Basic UI Components)
Resco MobileForms Toolkit
.NET Runtime / Operating System
Top layer structure
o Controllers – all lists (views) and forms
o Model – entity classes (custom)
o Model.meta – meta entity information
(enums and schema names)
o Configuration – database definition
files, language files, sync filter ...
o Images.Platform folder
o Files : Program.cs (main entry point),
Resco.xcrm, ControllerRegister ...
Integrated Tools
o Tools integrated into VS help you with the most
common customization tasks (adding entities and
properties, designing)
o Resco.xcrm – select entities and properties
o List and form designers (rlist, rform)
o The application will automatically use the correct list
and form, you only have to create and design them
List designer
Form designer
Working with entities
o Dynamic entities (class DynamicEntity)
o Dynamic entity = dictionary property name + value
o Strongly typed classes for convenience and for
certain situations (bussines logic code)
o Strongly typed classes are auto-generated from
Compilation & deployment
o Version for each platform has to be compiled before
o Conversion tool for getting different platform version
(project files) from WM version
o Deployment is very platform specific
o WM, W7, Android – automatic deployment and
updates can be made
o iOS, WP7 – first deployment manually, update using
notification (appstore or enterprise program)
o Woodford is a customization tool, that does not
require compilation for changes to take effect
o The customizations are applied after successful
o Customizations are platform independent
o Integrated / Stand-alone version (identical)
o Administration functionality
o Woodford customizations are stored on the CRM
server in custom entities
o Mobile Projects for different User Roles within the
o Common customization tasks – add, remove entities
& their properties, design lists and forms
o No code
Mobile Projects
Advanced functions
o Besides basic functions Woodford offers :
o Sync filters
o Dashboards
o Charts
o Multiple views
o Forms: Maps, IFrames
o Images
Chart definition
Administrative functions
o Mobile Devices
o Remote wipe
o Manage licenses
Mobile Devices Administration
Woodford and Studio
o It is possible to use Woodford and Studio simultaneously
o Small changes made with Woodford don‘t require
compilation and can be applied instantly
o Advanced customizations will be made with Studio and
new version of app will be re-deployed
o When used simultaneously – Configuration folder, mobile
entites and properties and lists & forms (but not code files)
from Studio are overwritten by customizations from
o Different product, but similar to MobileCRM
o Developer solution for creating mobile applications for
Microsoft Dynamics ERP products (NAV, AX, GP …)
o Full source code
o Integrated tools (designers)
o No Woodford yet (or similar tool)
o Very first version
MobileERP Application
o Platforms: iOS, Android, WM, W7
(Tablet), WP7
o Look and feel – like a CRM application
o Lists, forms ...
o Offline client (Local db)
o Currently, no direct integration with
Current Architecture
Your ERP server
(NAV, AX...)
MobileERP Application
MobileERP Server
by you
o Application synchronizes with a „simple server“
provided by Resco
o Simple server = sql db + web services
o Sync (or mirroring) between Resco server and your
ERP server needs to be implemented by you
o Resco server uses MS SQL db so the sync with ERP db
can be done on database level
o Resco server can be left out, if you implement the
web-services on your ERP server
Synchronization details
o Our synchronization mechanism is based on GUIDs
and modification timestamps
o Timestamps – incremental syncing
o These two are integral for our solution
o If you are considering leaving out the Resco server, it
might be a better idea to add those to your server,
then trying to remove from ERP application
Working with MobileERP
o File erpschema.xerp (XML
file) defines database
schema and „metadata“
for the mobile application
o Classes are created for
database entities
o Information from this file
is used by Resco designers
o Also, local db and Resco
server db schema is built
from this file
o DALConfig.xdog for generating classes
o List & form designers for convenient UI design
o Resco server sources (web services code)
Similarly to CRM :
Layer architecture
Project for each platform
Conversion tool & templates
MobileERP Future
o Collecting feedback from YOU
o Heavy development
o Tool (like Woodford)
o Integration & Synchronization
o Sample application