
Arvind Sedha CSI Lawyer® Windows Phone® Client Development and Data Synchronization Helsinki Metropolia University of Applied Sciences Master of Engineering Information Technology Thesis 15 May 2012 Abstract Author(s) Arvind Sedha Title CSI Lawyer® Windows Phone® Client Development and Data Synchronization Number of Pages 87 pages + 6 appendices Date 15 May 2012 Degree Master of Engineering Degree Programme Information Technology Specialisation option Mobile Programming Instructor(s) Jukka Juslin, Senior Lecturer Seppo Kabongo, Development Manager CSI Helsinki Oy has ERP software called CSI Lawyer® which is intended for law and consultant companies. CSI Helsinki Oy has great demand to develop the mobile clients for CSI Lawyer® for the most common mobile platforms available at present. The purpose of this project was to develop the Windows Phone® client application called CSI Mobile® for CSI Lawyer® including backend data synchronization business logic. CSI Mobile® allows CSI Lawyer® users to manage their transactions and view transaction related information such as customers, assignments, and transaction templates from their Windows Phone® device. CSI Mobile® was designed to work with any kind of device using Windows Phone® 7.5 or above. CSI Mobile® was developed using Silverlight, C# programming language and .Net Framework. The backend data synchronization between CSI Mobile® and CSI Lawyer® has been implemented using Microsoft Sync Framework. The data was synchronized between CSI Mobile® and CSI Lawyer® using an intermediate database located on SQL Azure Platform. The data between intermediate database and CSI Mobile® is synchronized using an OData web service. This project was finished with all the objectives completed on time designated for the project. The result of the project was a CSI Mobile® application with all necessary components required for synchronizing data between CSI Lawyer® and CSI Mobile®. Keywords CSI Helsinki Oy, Windows Phone®, Mobile Application Development, Microsoft Sync Framework, XML, Silverlight, SSL, OData, CSI Mobile®, CSI Lawyer® Contents 1 Introduction 1 1.1 Project background 3 1.2 Initial requirements 5 1.2.1 Architecture-level requirements 6 1.2.2 Functional requirements 9 1.2.3 Technical requirements 9 1.3 Structure of the study 10 2 Windows Phone® Platform 11 2.1 History 11 2.2 Platform overview 13 2.3 Architecture 15 2.4 User interface features and concepts 16 2.5 Development environment and tools 18 2.6 Windows Marketplace and App Hub 20 3 Communication protocol and frameworks 23 3.1 Overview 23 3.2 Communication protocols and data-interchange formats 23 3.3 Platform, Framework and Technologies 28 3.3.1 Windows Phone® Local databases 28 3.3.2 Windows Azure Platform 29 3.3.3 Microsoft Sync Framework 31 3.3.4 SQL Server Replication 32 4 Backend development 33 4.1 Overview 33 4.2 Possible solutions 35 4.2.1 Custom data synchronization solution 36 4.2.2 Microsoft Sync Framework data synchronization solution 37 4.3 Synchronization Scope 38 4.3.1 CSI Lawyer® database 39 4.3.2 Intermediate database 41 4.4 Synchronization configuration 42 4.5 Database provisioning 44 4.6 CSI Windows sync client 52 4.7 CSI Azure sync service 56 5 Windows Phone® client development 61 5.1 Overview 61 5.2 Application architecture 61 5.3 User interface design 62 5.3.1 User interface components 63 5.3.2 Page navigation 66 5.4 Application pages and components 67 5.4.1 Splash screen 67 5.4.2 Login dialog 68 5.4.3 Settings page 69 5.4.4 Main page 70 5.4.5 Entity page 72 5.4.6 Entity detail page 76 5.4.7 Edit transaction page 79 5.4.8 Live tiles 79 5.4.9 Background agents 81 5.5 Data synchronization 81 5.6 Testing 82 6 User experience 83 6.1 Identified problems 83 6.2 Enduser feedback 84 6.3 Future development 85 7 Conclusions 86 References Appendices Appendix 1: Progress Popup Control Appendix 2: Default Textbox Control Appendix 3: Showing Splash Screen Appendix 4: Implementation of LocalizedStrings class Appendix 5: Linking context menu dynamically to list Appendix 6: Performing data synchronization Figures Figure 1: CSI Lawyer® User Interface ..................................................................... 3 Figure 2: One User, CSI Lawyer® application and database on the same computer .... 6 Figure 3: Many Users, CSI Lawyer® database on different computer ......................... 7 Figure 4: Many users, CSI Lawyer® database on cloud ............................................. 7 Figure 5: Missing architecture solution ..................................................................... 8 Figure 6: Windows CE Timeline. Reprinted from Windows Mobile [10]...................... 11 Figure 7: Microsoft’s path to Windows Phone® [10] ............................................... 12 Figure 8: Windows Phone® - Ecosystem ............................................................... 14 Figure 9: Windows Phone® - Devices.................................................................... 14 Figure 10: Windows Phone® - Application Platform architecture .............................. 16 Figure 11: Windows Phone® - Hubs ..................................................................... 17 Figure 12: Windows Phone® - Live Tiles ............................................................... 18 Figure 13: Windows Phone® - Development environment on Visual Studio® 2010 ... 19 Figure 14: Windows Phone® - Application distribution channels .............................. 21 Figure 15: Windows Phone® - Application distribution process ................................ 21 Figure 16: Windows Phone® - App Hub® Dashboard ............................................. 22 Figure 17: WSDL specification six major elements .................................................. 25 Figure 18: OData Architecture Stack ...................................................................... 27 Figure 19: Accessing local data on Windows Phone® ............................................. 28 Figure 20: Windows Azure Platform [19] ................................................................ 29 Figure 21: Microsoft Synchronization Framework core components .......................... 32 Figure 22: Intermediate database architecture ....................................................... 34 Figure 23: CSI Lawyer® database vs. intermediate Database .................................. 35 Figure 24: Custom data synchronization solution .................................................... 36 Figure 25: Microsoft Sync Framework data synchronization solution ......................... 37 Figure 26: CSI Lawyer® database logical model ..................................................... 40 Figure 27: Intermediate database logical model ..................................................... 42 Figure 28: Microsoft Sync Framework - Sync Service Utility ..................................... 43 Figure 29: Microsoft Sync Framework - Management tables .................................... 46 Figure 30: Microsoft Sync Framework - Triggers and Tracking tables ........................ 47 Figure 31: Microsoft Sync Framework - Stored procedures ...................................... 48 Figure 32: Microsoft Sync Framework – User-defined table types ............................. 48 Figure 33: Sync Service Utility - Creating sync configuration file tool step 1 .............. 49 Figure 34: Sync Service Utility - Creating sync configuration file tool step 2-3 ........... 50 Figure 35: Sync Service Utility - Creating sync configuration file tool step 4 .............. 50 Figure 36: Sync Service Utility - Creating sync configuration file tool step 5 .............. 51 Figure 37: Sync Service Utility - Provisioning the database tool ................................ 51 Figure 38: CSI Windows sync client - Architecture .................................................. 52 Figure 39: CSI Windows sync client - Settings ........................................................ 52 Figure 40: CSI Windows sync client - Sync notifications .......................................... 53 Figure 41: CSI Azure sync service – Architecture .................................................... 56 Figure 42: CSI Azure Sync Service - Endpoint code generation ................................ 57 Figure 43: CSI Mobile® - Application architecture .................................................. 62 Figure 44: CSI Mobile® - Login control .................................................................. 63 Figure 45: CSI Mobile® - Loading popup control .................................................... 64 Figure 46: CSI Mobile® - Default textbox control ................................................... 65 Figure 47: CSI Mobile® - User interface control styles ............................................ 65 Figure 48: CSI Mobile® - Application page navigation ............................................. 66 Figure 49: CSI Mobile® - Splash screen displaying process ..................................... 67 Figure 50: CSI Mobile® - Login dialog ................................................................... 68 Figure 51: CSI Mobile® - Settings page ................................................................. 69 Figure 52: CSI Mobile® - Main page ..................................................................... 71 Figure 53: CSI Mobile® - Entity pages ................................................................... 74 Figure 54: CSI Mobile® - Entity page context menu ............................................... 75 Figure 55: CSI Mobile® - Entity detail page ..........................................................
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages105 Page
-
File Size-