Enterprise Smart Clients Architecture, Patterns, Design, Best Practices Keith Elder Manager, Sr. Software Engineer Quicken Loans Blog:

Slides:



Advertisements
Similar presentations
.NET 3.5 SP1 New features Enhancements Visual Studio 2008 SP1 New features Enhancements Additional features/enhancements.
Advertisements

Intro to SharePoint 2013 Architecture Liam Cleary.
Randy Williams, MOSS MVP Senior Consultant Synergy Corporate Technologies.
Web Applications Development Using Coldbox Platform Eddie Johnston.
Objectives In this session, you will learn to:
Final Presentation WINTER 2009 – SUMMER 2009 PRESENTED BY: George Kour Hany Danial SUPERVISOR: Victor Kulikov Networked Software Systems Laboratory DEPARTMENT.
Developing Smart Client Applications For The Enterprise Keith Elder Team Leader / Sr. Software Engineer Quicken Loans Blog:
Originally founded in 1985 as Rock Financial by Dan Gilbert Grew to one of the largest independent mortgage banks in the country 1998 IPO 1999 Launched.
CSLA Presenter Sergey Barskiy, senior consultant at Magenic Technologies your questions Send an in order.
Leveraging Enterprise Library in Your Applications Keith Elder Quicken Loans Manager, Sr. Software Engineer Microsoft MVP Keith a t keithelder dot net.
Structure and Guidance for Organizing Applications within Visual Studio Keith Elder Quicken Loans Manager, Sr. Software Engineer Microsoft MVP Keith a.
InfoPath Foundations Peter Williams, Ibitec AB. Agenda What are Forms? Form Scenarios Fundamentals Enter InfoPath Alternatives Use Forms InfoPath Enterprise.
SharePoint Saturday Sponsors Gold Bronze Custom REST services and jQuery AJAX Building your own custom REST services and consuming them with jQuery AJAX.
It’s always better live. MSDN Events Developer Productivity Improvements with Visual Studio 2008 and Office Business Applications.
Access Web Apps – OK, Now What? EXTENDING ACCESS WEB APPS George Young Dawson Butte Software ACCESS DAY – OCTOBER DENVER,
Building Offline/Cache Mode Web Apps Using Sync Framework Mike Clark Group Manager Cloud Data Services Team
SHARE POINT 2010 TRINAY TECHNOLOGY SOLUTIONS © Copyright Trinay Technology Solutions, 39 Buckland St, #5321 Manchester, CT
Create with SharePoint 2010 Jen Dodd Sr. Solutions Consultant
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
Smart Client Applications for Developers Davin Mickelson, MCT, MCSD New Horizons of MN.
OM. Brad Gall Senior Consultant
Introduction to the Enterprise Library. Sounds familiar? Writing a component to encapsulate data access Building a component that allows you to log errors.
Software Licensing, Made Simple SELECT Server XM Edition
Microsoft Confidential Office as a Development Platform Tim Heuer
Enhancing the HMI Experience OPC WPF.NET and SmartClient Deployment Renee Sikes Applications Engineer Win Worrall Applications/Development.
(Building the Presentation Layer - KISS). Figuring out what to do! Every skill that we have was not learnt over night and certainly not without proper.
Basic Developer Knowledge That Every SharePoint Admin Must Have Randy Williams, MVP MOSS Synergy Corporate Technologies
Tom Castiglia Hershey Technologies
DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.
Microsoft SharePoint Server 2010 for the Microsoft ASP.NET Developer Yaroslav Pentsarskyy
Sponsors Gold Silver Bronze Custom REST services and jQuery AJAX Building your own custom REST services and consuming them with jQuery AJAX.
SQL Server User Group Meeting Reporting Services Tips & Tricks Presented by Jason Buck of Custom Business Solutions.
Lap Around Visual Studio 2008 &.NET 3.5 Enhancements.
Deploy.NET Applications with Ease Brian Noyes IDesign, Inc.
(Building the Presentation Layer - KISS). Figuring out what to do! Every was not learnt over night and certainly not without proper help and support.
James Akrigg Microsoft Ltd Integrating InfoPath Forms Into Workflow Solutions And Business Processes.
Hands-On Microsoft Windows Server Implementing Microsoft Internet Information Services Microsoft Internet Information Services (IIS) –Software included.
Sponsors Gold Silver Bronze Custom REST services and jQuery AJAX Building your own custom REST services and consuming them with jQuery AJAX.
Microsoft Management Seminar Series SMS 2003 Change Management.
Trunica Inc. 500 East Kennedy Blvd #300 Tampa, FL Cross Platform Mobile Apps With Cordova and Visual Studio 2015 © Copyright 2015.
Intro to Datazen.
MVC WITH CODEIGNITER Presented By Bhanu Priya.
CSC 2720 Building Web Applications Basic Frameworks for Building Dynamic Web Sites / Web Applications.
Configuring and Deploying Web Applications Lesson 7.
Mr. Justin “JET” Turner CSCI 3000 – Fall 2015 CRN Section A – TR 9:30-10:45 CRN – Section B – TR 5:30-6:45.
Gowtham Prasad K N Partner Technical Consultant | Microsoft Corporation |
Interaction classes Record context Custom lookups.
Inspirirani ljudima. Ugasite mobitele. Hvala.. Paolo Pialorsi Senior Consultant PiaSys ( Publishing apps for SharePoint 2013 on Microsoft.
Exploring Networked Data and Data Stores Lesson 3.
Managing Database objects in Visual Studio and Team Foundation Server Presented by Sean P SQL Saturday - Phoenix 2016.
1 Copyright © 2008, Oracle. All rights reserved. Repository Basics.
Enterprise Library 3.0 Memi Lavi Solution Architect Microsoft Consulting Services Guy Burstein Senior Consultant Advantech – Microsoft Division.
DAT303 - Entity Framework: Application Patterns Pablo Castro Technical Lead, Microsoft Corporation.
ClickOnce Deployment (One-click Deployment)
The Holmes Platform and Applications
Introducing the Microsoft® .NET Framework
Intra-Farm Shared Services
5/15/2018 5:43 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Getting Started on The Project Bank in Visual Studio
Integrating Enterprise Applications Into SharePoint® Portal Server
Chris Menegay Sr. Consultant TECHSYS Business Solutions
Platform as a Service.
Visual Studio Tools for Office 2005
Smart Client Deployment With Microsoft® Windows® Forms
Creating Custom Workflow Activities with Windows Workflow Foundation
Smoke and Mirrors Prototype
ASP.NET Module Subtitle.
Smoke and Mirrors Prototype
ClickOnce Deployment (One-click Deployment)
Mark Quirk Head of Technology Developer & Platform Group
Presentation transcript:

Enterprise Smart Clients Architecture, Patterns, Design, Best Practices Keith Elder Manager, Sr. Software Engineer Quicken Loans Blog:

Take Aways  Previous Session  What are Smart Clients  How to deploy them as easy as a web application  Setting Up Visual Studio – How to get started  Modules  Interface  Business Logic  Data Access Logic  Understanding the architecture of an Enterprise Smart Client and how to get started building one.  Handling Business Rules  Enterprise Library

Enterprise Desktop

Enterprise Smart Client Architecture

Smart Client Architecture SQL 2005 Client Web Services Cluster  Benefits  Provides connection pooling to database  Allows for updates to business layer without affecting clients  Disconnected / Connected Business Logic Documentation

Enterprise Smart Client Pattern: Visual Studio Solution Organization

Visual Studio Solution Organization  Think in terms of modularity and re-use  Will not apply to smaller applications  Modules are collections of projects and solutions  Web Service  BusinessLayer  DataLayer  WorkFlow  Proxy  UI.Web  UI.WinForm  UI.Mobile  Etc.

Visual Studio Solution Organization: Things to remember  Create a “Common” library early on  Common API’s -> EnterpriseDesktop.Common  Typically shared among all projects (it is common right?)  Base APIs to handle validation, serialization, configuration or whatever  Common UI -> EnterpriseDesktop.Common.WinForm  Why separate things out so much?  Allows for Multiple User Interfaces to leverage the same logic. Write once. Use it everywhere.  Bake Enterprise Library into your application from the start, not as an after thought. More on this later.  Each SmartClient “module” will have minimally four projects:  Web service – provides the means to retrieve, and validate information for your module  Business Layer – Contains your business rules and business entities  Data Layer – Facilitates storing and retrieving of data (could be datasets, custom objects, or an ORM)  UI (winform) – User controls which make up your user interface

Web Service BusinessLayer DataLayer Smart Client Mobile 5 App Web Site Internal Web App Smart Client Module WorkFlow

Folder Structure For Application ModuleModule Project FilesProject Files

Enterprise Desktop

Enterprise Smart Client: Best Practices

Handling Business Rules With Smart Clients  Put your business rules in the web service  Business rules change constantly, do you want to redeploy your entire app for a few lines of code change?  Answer: No. Just redeploy your web service. No one will ever know!  Leverage Biztalk rules engines or WorkFlow rules engine  Great idea but I can only pass back and forth XML, so how do I do it?  Answer. List brokenRules  Note: EntLib 3.0 has a Validation Block

Business Rules

Enterprise Smart Client: Patterns and Software Factories

Patterns and Practice Is Your Friend  Enterprise Library  Logging Block  Log exceptions  Route SQL Exceptions to pagers  Log who is doing what  Log to flat files, xml or database  Data Access Block  Abstract data access, less code than ADO.Net  Caching Block  Database  File system  Isolated file storage  Security Block  Manage permissions for your application (who can do what)  Console  Winform Application to configure or re-configure your application on the fly  WSE 3.0 – Web Services Enhanced (pre WCF)

Quick Look at Enterprise Library

Enterprise Smart Client: Deployment Tips

Enterprise Deployment Tips  Things you need to deploy  Smart Client  Web Service for each module  Tip: Create master solutions for each web service deployment  Reminder: Don’t forget to add Enterprise Library to your services  Documentation  Asp.net web site  Purchase software certificate from Versign  Sign ClickOnce manifests with certificate  Have your windows engineers deploy this certficate as a trusted certficate to the desktops.  Build an MSI installer which contains a URL desktop shortcut. Deploy this to the enterprise based which user’s need the application.  Provides an easy on ramp to kick off the application and get it installed.  Can be placed in desktop image by IS

Anything Else I Should Look At?  Web Service Performance Tip: Gzip and ExcludeSchema  Smart Client Software Factory  Web Service Software Factory  Mobile Software Factory  Keep eyes on Patterns and Practice Team

Resources  My Blog     Resources    Patterns and Practices   Smart Client Software Factory  Enterprise Library  Web Services Software Factory  Mobile Software Factory