ALM in IT Thesis Template

ALM in IT Thesis Template

Using Azure, Office 365, C# and Xamarin to Make a Multiuser, Multiplatform Extensible Law Practice Management Cloud Application The Harvard community has made this article openly available. Please share how this access benefits you. Your story matters Citation Migkiros, Pavlos. 2016. Using Azure, Office 365, C# and Xamarin to Make a Multiuser, Multiplatform Extensible Law Practice Management Cloud Application. Master's thesis, Harvard Extension School. Citable link http://nrs.harvard.edu/urn-3:HUL.InstRepos:33797318 Terms of Use This article was downloaded from Harvard University’s DASH repository, and is made available under the terms and conditions applicable to Other Posted Material, as set forth at http:// nrs.harvard.edu/urn-3:HUL.InstRepos:dash.current.terms-of- use#LAA Using Azure, Office 365, C# and Xamarin to make a Multiuser, Multiplatform extensible Law Practice Management Cloud Application Pavlos Migkiros A Thesis in the Field of Information Technology for the Degree of Master of Liberal Arts in Extension Studies Harvard University May 2016 Abstract Besides the strictly legal duties and tasks of legal professionals, law practice requires also management; keeping track of cases and their related resources, such as files, deadlines, clients, and tasks. Managing these resources can be simplified with specialized software, which also provides collaboration and resource sharing capabilities to support working groups and organizations. The scope of this thesis is to design and implement a low cost law practice management software prototype. While such software solutions already exist, we will show that there is still room for improvement by integrating it with some of the most commonly used productivity tools and technologies, namely Microsoft Office 365. Many users and organizations use Outlook for their emails, OneDrive for their file system, and probably more such tools. So, the objective of this thesis is to allow them to keep using these tools along with a specialized law practice management tool, instead of creating an entirely new platform. To achieve this goal, we leverage cloud development. We integrate Office 365, using Microsoft Graph API, with a custom PaaS (Platform as a Service) service implemented on Microsoft Azure, to provide a unified cloud backend service. Cloud services, design patterns and the relatively recent technological advances, such as Xamarin, simplify multiplatform development. We also provide two client applications, a Windows Desktop (WPF) client that offers full functionality, and an Android mobile client that offers lightweight functionality, as well as a basic ASP .NET website. Dedication Switching paths from geology to software engineering through this degree was a gamble that required courage, drive, determination and a lot of hard work. None of this would be possible without Foteinis’ love, inspiration, encouragement and support. Therefore, I want to dedicate this work to her. I also want to deeply thank my parents, Eirini and Petros, who have always been there for me in so many ways. Thank you… iv Acknowledgments I would like to express my gratitude to my thesis advisor Paul Holley for his contribution, his valuable ideas, his guidance, for being reachable and direct, and for allowing me the freedom to explore by my own. I would also like to thank Dr. Jeff Parker for his great advice and cooperation, especially during the process of forming this thesis and for his great contribution on the write-up section. v Table of Contents Table of Contents ............................................................................................................... vi List of Figures .................................................................................................................... ix List of Tables .................................................................................................................... xii Chapter 1 Introduction ........................................................................................................ 1 Goals & Motivation ........................................................................................................ 1 Law Practice management & LPMS .............................................................................. 1 Overview of this document ............................................................................................. 5 Chapter 2 Technology choices & the cloud ........................................................................ 6 Chapter 3 Prior work ......................................................................................................... 10 Chapter 4 Azure Active Directory & Office 365 .............................................................. 14 Active Directory ........................................................................................................... 14 Office 365 - Office 365 API - Microsoft Graph API .................................................... 18 Chapter 5 LPMS Functional Requirements ...................................................................... 21 Law Practice Management Model & Core Functional Requirements .......................... 23 Resource Location (Azure SQL & Office 365) – Authentication, Authorization & the Registration Process ...................................................................................................... 27 Collaboration ................................................................................................................ 32 Collaboration Modes ................................................................................................. 33 Roles ......................................................................................................................... 35 Real Time Updates .................................................................................................... 37 Communication ......................................................................................................... 38 vi Complete Description of Resources, System Requirements & Permissions ................ 39 Client Applications ....................................................................................................... 45 Windows Desktop (WPF) Client Application .......................................................... 45 Android Mobile Client Application .......................................................................... 50 ASP .NET Website ................................................................................................... 52 Chapter 6 Design Specifications ....................................................................................... 55 Design Specification Choices – Discussion & Objectives ........................................... 57 Accessing Resources Azure SQL O365 & Microsoft Graph API ................................ 60 Web API ....................................................................................................................... 65 Live chat & Real Time Updates using SignalR 2 ......................................................... 68 LPMS Sequence diagrams ............................................................................................ 70 Client Applications ....................................................................................................... 74 Windows Desktop Client Application ...................................................................... 74 Android Client .......................................................................................................... 77 Chapter 7 Summary and Conclusions ............................................................................... 78 Glossary ............................................................................................................................ 83 References ......................................................................................................................... 85 Appendix I ........................................................................................................................ 89 Azure AD ...................................................................................................................... 89 SignalR 2 – Live updates & live chat ........................................................................... 91 Additional Sequence Diagrams .................................................................................... 95 Sample request, and response of a user of LPMS to update his profile ....................... 97 Appendix II - External software libraries used in the thesis ............................................. 99 vii viii List of Figures Figure 1. Evolution of law practice management ............................................................... 3 Figure 2. Comparison of responsibilities of on-premises and cloud service categories (Greiner, 2014) .................................................................................................................... 7 Figure 3. High level system architecture diagram .............................................................. 9 Figure 4. Azure Active Directory integration and capabilities, (Vilcinskas, 2016) ......... 14 Figure 5. Azure AD basic authentication flow, (Baldwin, 2016) ..................................... 16 Figure 6. LPMS communication flows from client to Web API and Office 365 ............. 16 Figure 7. LPMS configuration of permissions to other applications, in Azure portal ...... 17

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    114 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us