KnOwledge
|
|
- Belinda Allen
- 6 years ago
- Views:
Transcription
1 RoCk SOLiD KnOwledge David Wheeler Designing UIs with the Composite Application Guidance 2009 RoCk SOLid KnOwledge 1
2 Agenda Background to composite applications Overview of Prism v2 for WPF Hopefully not too many slides 2009 RoCk SOLid KnOwledge 2
3 Composite applications Challenges for enterprise application developers Enterprise applications can get messy - fast long-lived, new pieces being added all the time multiple development teams varied sources of data poor separation of concerns / close coupling difficulties in testing 2009 RoCk SOLid KnOwledge 3
4 Composite applications What is a composite application? unified composite legacy legacy services services 2009 RoCk SOLid KnOwledge 4
5 Composite applications Composition is also present in the UI UI built using composition Shared services e.g. logging logger Loosely coupled communication required between components e.g. Save All command 2009 RoCk SOLid KnOwledge 5
6 Composite applications Prism v2 Published by MS Patterns & Practices Group Guidance on how to create composite apps reference application how to and documentation Composite Application Library (CAL) WPF/Silverlight replacement for CAB still consider CAB for mixed-mode apps See microsoft.com/compositewpf 2009 RoCk SOLid KnOwledge 6
7 Prism v2 Focus on WPF Utilises core features of WPF data binding for view <-> viewmodel ICommand implementation for commands Lightweight inheritance footprint views are just standard user controls shell is just a normal WPF Window (typically) 2009 RoCk SOLid KnOwledge 7
8 Prism v2 Core parts Dependency Injection container Bootstrapper Shell Modules Views Services 2009 RoCk SOLid KnOwledge 8
9 Dependency Injection DI (or IoC) used to create objects register types / instances with container can be done using configuration or code clients can query the container for objects DI container can inject objects as needed largely done using.ctor injection in Prism Default container in Prism is Unity roll your own by implementing IUnityContainer 2009 RoCk SOLid KnOwledge 9
10 Dependency Injection public class TypeB { public TypeB( TypeA a ) {... } } Container Register () TypeA TypeB Container Resolve<TypeB>() B A 2009 RoCk SOLid KnOwledge 10
11 Bootstrapper Bootstrapper needed when DI is in use gets the application started Prism provides a UnityBootstrapper prepares the default services used by Prism e.g. logging, region management Typically created in App s OnStartup method 2009 RoCk SOLid KnOwledge 11
12 Bootstrapper Application start-up sequence App OnStartUp Bootstrapper Run Configure container Configure core services Create shell Configure region mappings Initialise modules 2009 RoCk SOLid KnOwledge 12
13 Shell Shell provides the main window for the app typically hosts one or more regions Shell ToolbarRegion InfoRegion MainRegion 2009 RoCk SOLid KnOwledge 13
14 Regions Regions are named placeholders views are activated within a region controlled using a RegionManager Regions are set with an attached property RegionManager.RegionName Regions can be content controls (notionally a single active view) items controls (such as TabControl) 2009 RoCk SOLid KnOwledge 14
15 Regions <!-- Within the Shell.xaml file --> <TabControl xmlns:cal= cal:regionmanager.regionname= MainRegion />... <ContentControl xmlns:cal= cal:regionmanager.regionname= EditorRegion /> RoCk SOLid KnOwledge 15
16 Composite applications Modularity Ideally break applications into modules e.g. HR module, payroll module, sales module Module can contain multiple views / services HR Payroll Sales Logger Modules Common 2009 RoCk SOLid KnOwledge 16
17 Modules Modules implement the IModule interface single Initialize() method akin to entry point Typically creates the services / views it needs Uses.ctor injection for two key items IUnityContainer for registering services IRegionManager for working with regions Stick to one module per assembly 2009 RoCk SOLid KnOwledge 17
18 Modules public class HRModule : IModule { IRegionManager regionmanager; IUnityContainer unitycontainer; public HRModule( IUnityContainer unitycontainer, IRegionManager regionmanager ) { this.unitycontainer = unitycontainer; this.regionmanager = regionmanager; } } public void Initialize() { // register services // create views / view models } 2009 RoCk SOLid KnOwledge 18
19 Module loading Modules are stored in a catalogue created by the Bootstrapper Can locate modules a number of ways code-driven catalog (easiest, least flexible) XAML-driven configuration-driven directory-driven (ultimate in dynamism) custom 2009 RoCk SOLid KnOwledge 19
20 Module loading Modules can be loaded at startup on demand Modules can depend upon other modules ensures loading in the correct sequence 2009 RoCk SOLid KnOwledge 20
21 Module catalogues public class Bootstrapper : UnityBootstrapper { protected override IModuleCatalog GetModuleCatalog() { ModuleCatalog catalog = new ModuleCatalog(); catalog.addmodule( typeof( MessagingModule ) ); catalog.addmodule( typeof( HRModule ) ); catalog.addmodule( typeof( PayrollModule ), HRModule ); return catalog; } } protected override DependencyObject CreateShell() {... } 2009 RoCk SOLid KnOwledge 21
22 Views Views are placed in regions composite views themselves define more regions Represent a portion of the UI for a module Typically created through two approaches View first - views created by module Presenter first - views injected into view model 2009 RoCk SOLid KnOwledge 22
23 Views More often than not, a simple UserControl can be a template, custom control, etc. key is that there is no inheritance constraint Organise your project to support views place them in a Views folder in your module Use binding to populate their data also use binding to set commands 2009 RoCk SOLid KnOwledge 23
24 View <-> Model <-> ViewModel Prism tends to use V-M-VM pattern View ViewModel Model Data-bound UI Data-bound properties Commands Service calls Data access 2009 RoCk SOLid KnOwledge 24
25 Creating views public class HRModule : IModule { IRegionManager regionmanager;... // regionmanager injected using DI container } public void Initialize() { HRMainView view = new HRMainView(); IRegion region = regionmanager.regions[ MainRegion ]; region.add( view ); region.activate( view ); } 2009 RoCk SOLid KnOwledge 25
26 Services Services!= Web Services (well, not ALL the time, anyway) Module registers service with DI container consumers can then resolve service as needed Some services are common across modules create in an infrastructure module 2009 RoCk SOLid KnOwledge 26
27 Services Logging service Prism provides a default logging mechanism via the ILoggerFacade interface can use any logging architecture e.g. log4net, Ent Lib logging block, etc RoCk SOLid KnOwledge 27
28 Consuming services public class HRModule : IModule { IUnityContainer unitycontainer;... // unitycontainer injected using DI container } public void Initialize() {... ILoggerFacade logger = unitycontainer.resolve<iloggerfacade>(); logger.log("hey, I've been logged", Category.Info, Priority.Low); } 2009 RoCk SOLid KnOwledge 28
29 Commands Background WPF has a strong command mechanism routed commands and ICommand A couple of important limitations focus (logical) and otherwise is problematic command bindings often have to be set at root doesn t do Save All functionality well 2009 RoCk SOLid KnOwledge 29
30 Commands Invoker ICommand Real Command Receiver 2009 RoCk SOLid KnOwledge 30
31 Commands Prism commands Prism provides custom command types DelegateCommand CompositeCommand Commands typically bound to view controls commands are exposed by ViewModel 2009 RoCk SOLid KnOwledge 31
32 Commands A simple DelegateCommand <Button Command= {Binding Path=Search} CommandParameter= {Binding Path=EmployeeName, Mode=TwoWay} Content= Search /> public class HRViewModel { public DelegateCommand<string> Search { get; private set; } public HRViewModel() { Search = new DelegateCommand<string>( OnSearch, OnCanSearch ); } void OnSearch( string employeename ) {... } } bool OnCanSearch( string employeename ) {... } 2009 RoCk SOLid KnOwledge 32
33 Commands CompositeCommand Save All Save Save Save 2009 RoCk SOLid KnOwledge 33
34 Commands A simple CompositeCommand public static class GlobalCommands { public static CompositeCommand SaveAllCommand = new CompositeCommand(); } public class HRViewModel { public DelegateCommand<string> Save { get; private set; } } public HRViewModel() { Save = new DelegateCommand<string>( OnSave, OnCanSave ); GlobalCommands.SaveAllCommand.RegisterCommand( Save ); } RoCk SOLid KnOwledge 34
35 Commands Proxying composite commands Code on previous slide a bit icky hard dependency on the GlobalCommands class Prefer to proxy the global command register a service with the DI container enables the command to be mocked out 2009 RoCk SOLid KnOwledge 35
36 Events Routed events not reliable for composites only bubble up the visual tree Modules need a way to communicate commands are do it now events are hey, you might be interested CAL contains a pub/sub event aggregator 2009 RoCk SOLid KnOwledge 36
37 Events Modularity Publisher Sales Subscriber Finance Event 2009 RoCk SOLid KnOwledge 37
38 Events A simple event public class OrderPlacedEvent : CompositePresentationEvent<OrderInfo> {} public class OrderInfo {... } EventAggregator agg = unitycontainer.resolve<eventaggregator>(); OrderPlacedEvent evt = agg.getevent<orderplacedevent>(); evt.publish( new OrderInfo() {... } ); EventAggregator agg = unitycontainer.resolve<eventaggregator>(); OrderPlacedEvent evt = agg.getevent<orderplacedevent>(); evt.subscribe( o => DataContext = o, ThreadOption.UIThread, false ); 2009 RoCk SOLid KnOwledge 38
39 Summary Learning curve relatively shallow However... you need to buy into DI you need to be comfortable with binding in WPF discipline is key to success might still need CAB for mixed WPF/WinForms 2009 RoCk SOLid KnOwledge 39
40 Summary Prism v2 offers solid guidance addresses common architectural challenges supports WPF and Silverlight extensible minimal inheritance enforcement commands and events good in themselves Get the bits RoCk SOLid KnOwledge 40
41 RoCk SOLiD KnOwledge Thanks for coming Q & A 2009 RoCk SOLid KnOwledge 41
Prism Composite Application Guidance
Prism Composite Application Guidance Brian Noyes www.idesign.net Prism Developed by Microsoft patterns and practices Old name: Composite Application Guidance for WPF and Silverlight Guidance for building
More informationComposite Application Guidance for WPF and Silverlight (AKA Prism 2 )
Composite Application Guidance for WPF and Silverlight (AKA Prism 2 ) Brian Noyes www.idesign.net About Brian Chief Architect, IDesign Inc. (www.idesign.net) Microsoft Regional Director / MVP Publishing
More informationBuild Better WPF & Silverlight applications using Prism v2
Build Better WPF & Silverlight applications using Prism v2 Client Application Challenges The Problem: Client Applications can be Difficult! How Do You Make The Application Dynamic, Customizable, Extensible,
More informationPrism Composite Application Guidance
Prism Composite Application Guidance Brian Noyes www.idesign.net About Brian Chief Architect IDesign Inc. (www.idesign.net) Microsoft Regional Director (www.theregion.com) Microsoft MVP Silverlight Publishing
More informationAR.04 Composite Application Guidance for WPF (aka Prism ) Brian Noyes IDesign Inc (www.idesign.net)
AR.04 Composite Application Guidance for WPF (aka Prism ) Brian Noyes IDesign Inc (www.idesign.net) brian.noyes@idesign.net About Brian Chief Architect, IDesign Inc. (www.idesign.net) Microsoft Regional
More informationBuilding Loosely Coupled XAML Client Apps with Prism
Building Loosely Coupled XAML Client Apps with Prism Brian Noyes IDesign Inc. (www.idesign.net) brian.noyes@idesign.net, @briannoyes About Brian Chief Architect IDesign Inc. (www.idesign.net) Microsoft
More informationImplementing MVVM in Real World ArcGIS Server Silverlight Applications. Brandon Copeland LJA Engineering, Inc.
Implementing MVVM in Real World ArcGIS Server Silverlight Applications Brandon Copeland LJA Engineering, Inc. 1 Agenda / Focused Topics Application Demo Model-View-ViewModel (MVVM) What is MVVM? Why is
More informationTelerik Sales Dashboard: an Extensible Cross-Platform Application
Telerik Sales Dashboard: an Extensible Cross-Platform Application Contents Introduction The Sales Dashboard Requirements Choice of Technologies The Implementation Implementing the Modules Module Implementation
More information04 Sharing Code Between Windows 8 and Windows Phone 8 in Visual Studio. Ben Riga
04 Sharing Code Between Windows 8 and Windows Phone 8 in Visual Studio Ben Riga http://about.me/ben.riga Course Topics Building Apps for Both Windows 8 and Windows Phone 8 Jump Start 01 Comparing Windows
More informationWPF and MVVM Study Guides
1. Introduction to WPF WPF and MVVM Study Guides https://msdn.microsoft.com/en-us/library/mt149842.aspx 2. Walkthrough: My First WPF Desktop Application https://msdn.microsoft.com/en-us/library/ms752299(v=vs.110).aspx
More informationArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK
ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK Charlie Macleod - Esri Esri UC 2014 Demo Theater New at 10.3 is the ArcGIS Pro Application - Extensibility is provided by
More informationApplication Architecture Guide. Don Smith Community Liaison Microsoft patterns & practices
Application Architecture Guide Don Smith Community Liaison Microsoft patterns & practices inputs outputs The Application users goals ARCHITE - STRUCTURE The diplomat team-member L E Architect decision
More informationBuilding a mobile enterprise application with Xamarin.Forms, Docker, MVVM and.net Core. Gill
Building a mobile enterprise application with Xamarin.Forms, Docker, MVVM and.net Core Gill Cleeren @gillcleeren www.snowball.be Agenda Overall application structure The Xamarin application architecture
More informationPro XAML with C# From Design to Deployment on WPF, Windows Store, and Windows Phone. Buddy James. Lori Lalonde
Pro XAML with C# From Design to Deployment on WPF, Windows Store, and Windows Phone Buddy James Lori Lalonde Contents J About the Authors About the Technical Reviewer Acknowledgments Introduction xiii
More informationBuild Loosely Coupled Silverlight Business Applications
Build Loosely Coupled Silverlight Business Applications Brian Noyes www.idesign.net About Brian Chief Architect IDesign Inc. (www.idesign.net) Microsoft Regional Director (www.theregion.com) Microsoft
More information03 Model-View-ViewModel. Ben Riga
03 Model-View-ViewModel Ben Riga http://about.me/ben.riga Course Topics Building Apps for Both Windows 8 and Windows Phone 8 Jump Start 01 Comparing Windows 8 and Windows Phone 8 02 Basics of View Models
More informationIndex. Application programming interface (API), 38. Binary Application Markup Language (BAML), 4
Index A Application programming interface (API), 38 B Binary Application Markup Language (BAML), 4 C Class under test (CUT), 65 Code-behind file, 128 Command Query Responsibility Segregation (CQRS), 36
More informationUpgrading to Windows Server 2008
Upgrading to Windows Server 2008 This 5-day workshop provides participants with the knowledge and skills to work with Network Infrastructure and Active Directory technologies in Windows Server 2008. This
More informationAdvance Windows Phone Development. Akber Alwani Window Phone 7 Development EP.NET Professionals User Group
Advance Windows Phone Development Akber Alwani Window Phone 7 Development EP.NET Professionals User Group http://www.epdotnet.com 7 Agenda Page Navigation Application Bar and System tray Orientation-Aware
More informationLearn.Net WPF with Prism & Multithreading. This syllabus is cover WPF with Prism 4.0 & multithreading
Learn.Net WPF with Prism & Multithreading This syllabus is cover WPF with Prism 4.0 & multithreading Table of Contents 1. Module1 ORM... 2. Module2 WPF... 3. Module3 Prism 4.0... 4. Module4 Multithreading...
More informationCross-Platform Mobile Platforms and Xamarin. Presented by Mir Majeed
Cross-Platform Mobile Platforms and Xamarin Presented by Mir Majeed Agenda 1. Sharing Code Among Different Platforms File-Linking into each App Project Portable Class Libraries 2. Solution Population Strategies
More informationWorkspace Desktop Edition Developer's Guide. Best Practices for Views
Workspace Desktop Edition Developer's Guide Best Practices for Views 12/4/2017 Contents 1 Best Practices for Views 1.1 Keyboard Navigation 1.2 Branding 1.3 Localization 1.4 Parameterization 1.5 Internationalization
More informationThis document contains a general description of the MVVMStarter project, and specific guidelines for how to add a new domain class to the project.
MVVMStarter Guide This document contains a general description of the MVVMStarter project, and specific guidelines for how to add a new domain class to the project. Table of Content Introduction...2 Purpose...2
More informationWorkspace Desktop Edition Developer's Guide. Workspace Desktop Edition 8.5.1
Workspace Desktop Edition Developer's Guide Workspace Desktop Edition 8.5.1 4/27/2018 Table of Contents Workspace Desktop Edition 8.5 Developer's Guide 4 Introduction 8 Introducing Extensions 12 About
More informationBuilding Extensible XAML Client Apps
Building Extensible XAML Client Apps Brian Noyes IDesign Inc. (www.idesign.net) brian.noyes@idesign.net, @briannoyes About Brian Chief Architect IDesign Inc. (www.idesign.net) Microso7 Regional Director
More informationBuilding Extensible XAML Client Apps
Building Extensible XAML Client Apps Brian Noyes Chief Architect, IDesign Inc www.idesign.net brian.noyes@idesign.net, @briannoyes Level: Intermediate About Brian Chief Architect IDesign Inc. (www.idesign.net)
More informationDeveloping Rich Internet Applications Using Microsoft Silverlight 4
Developing Rich Internet Applications Using Microsoft Silverlight 4 Course No. 10554 5 Days Instructor-led, Hands-on Introduction This course covers intermediate and advanced topics required to develop
More informationObject oriented programming. Encapsulation. Polymorphism. Inheritance OOP
OOP Object oriented programming Polymorphism Encapsulation Inheritance OOP Class concepts Classes can contain: Constants Delegates Events Fields Constructors Destructors Properties Methods Nested classes
More informationWorkspace Desktop Edition Developer's Guide. Frequently Asked Questions
Workspace Desktop Edition Developer's Guide Frequently Asked Questions 11/27/2017 Contents 1 Frequently Asked Questions 1.1 Is it possible to hide or select custom views? 1.2 How can I use a URI passed
More informationFind it all with SharePoint Enterprise Search
At a glance: Architecture of an enterprise search solution Indexing and querying business data LOB data and people knowledge Find it all with SharePoint Enterprise Search Matt Hester This article is based
More informationSuper Powered Dynamo. Dynamo Extensions - with great power comes great responsibility - uncle ben
Super Powered Dynamo Dynamo Extensions - with great power comes great responsibility - uncle ben OverView For Today 8:30-9:00 Breakfast and Setup 9:00-9:30 Introductions and Extension Ideas Exchange 9:30-11:00
More informationArcGIS Pro SDK for.net Beginning Pro Customization. Charles Macleod
ArcGIS Pro SDK for.net Beginning Pro Customization Charles Macleod Session Overview Extensibility patterns - Add-ins - Configurations Primary API Patterns - QueuedTask and Asynchronous Programming - async
More information1 Software Architecture
Some buzzwords and acronyms for today Software architecture Design pattern Separation of concerns Single responsibility principle Keep it simple, stupid (KISS) Don t repeat yourself (DRY) Don t talk to
More informationBuild Testable Client and Service Applications
Build Testable Client and Service Applications Brian Noyes IDesign Inc (www.idesign.net) brian.noyes@idesign.net About Brian Chief Architect IDesign Inc. (www.idesign.net) Microsoft Regional Director MVP
More information1. Introduction. 2. Technology concepts
1 Table of Contents 1. Introduction...2 2. Technology Concepts...3 2.1. Sharding...4 2.2. Service Oriented Data Architecture...4 2.3. Aspect Oriented Programming...4 3. Technology/Platform-Specific Features...5
More informationPractical WPF. Learn by Working Professionals
Practical WPF Learn by Working Professionals WPF Course Division Day 1 WPF prerequisite What is WPF WPF XAML System WPF trees WPF Properties Day 2 Common WPF Controls WPF Command System WPF Event System
More informationLearn to Behave Extend Your XAML with Behaviors
Learn to Behave Extend Your XAML with Behaviors Brian Noyes Chief Architect, IDesign Inc. www.idesign.net brian.noyes@idesign.net, @briannoyes Level: Intermediate About Brian Chief Architect IDesign Inc.
More informationThis tutorial is designed for software developers who want to learn how to develop quality applications with clean structure of code.
About the Tutorial Every good developer wants and tries to create the most sophisticated applications to delight their users. Most of the times, developers achieve this on the first release of the application.
More informationWhat are the characteristics of Object Oriented programming language?
What are the various elements of OOP? Following are the various elements of OOP:- Class:- A class is a collection of data and the various operations that can be performed on that data. Object- This is
More informationArcGIS Pro SDK for.net Advanced User Interfaces in Add-ins. Wolfgang Kaiser
ArcGIS Pro SDK for.net Advanced User Interfaces in Add-ins Wolfgang Kaiser Session Overview MVVM Model View ViewModel - View and View Model Implementation in Pro - Dockpane Example - MVVM concepts - Multi
More informationConfiguring and Customizing the ArcGIS Viewer for Silverlight. Katy Dalton
Configuring and Customizing the ArcGIS Viewer for Silverlight Katy Dalton kdalton@esri.com Agenda Overview of the ArcGIS Viewer for Silverlight Extensibility endpoints - Tools, Behaviors, Layouts, Controls
More informationBlissful Separation of Concerns with Model-View-ViewModel (MVVM)
Blissful Separation of Concerns with Model-View-ViewModel (MVVM) Brian Noyes Chief Architect, IDesign(www.idesign.net) brian.noyes@idesign.net, @briannoyes Level: Intermediate About Brian Chief Architect
More informationSharePoint 2010 Enterprise Content Management for IT Pros. Mirjam van Olst Macaw
SharePoint 2010 Enterprise Content Management for IT Pros Mirjam van Olst Macaw About Mirjam Blog: http://sharepointchick.com Email: mirjam@macaw.nl Twitter: @mirjamvanolst Agenda Managed Metadata Service
More informationArcGIS Viewer for Silverlight Advanced Topics
Esri International User Conference San Diego, California Technical Workshops July 26, 2012 ArcGIS Viewer for Silverlight Advanced Topics Rich Zwaap Agenda Add-ins overview Tools Behaviors Controls Layouts
More informationTo Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservices on CloudFoundry. Tony Erwin,
To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservices on CloudFoundry Tony Erwin, aerwin@us.ibm.com Agenda Origins of the Bluemix UI Demons of the Monolith Slaying Demons with
More informationWhat is a Pattern? Lecture 40: Design Patterns. Elements of Design Patterns. What are design patterns?
What is a Pattern? Lecture 40: Design Patterns CS 62 Fall 2017 Kim Bruce & Alexandra Papoutsaki "Each pattern describes a problem which occurs over and over again in our environment, and then describes
More informationApplication Architectures, Design Patterns
Application Architectures, Design Patterns Martin Ledvinka martin.ledvinka@fel.cvut.cz Winter Term 2017 Martin Ledvinka (martin.ledvinka@fel.cvut.cz) Application Architectures, Design Patterns Winter Term
More informationLearn to develop.net applications and master related technologies.
Courses Software Development Learn to develop.net applications and master related technologies. Software Development with Design These courses offer a great combination of both.net programming using Visual
More information--Microsoft-- --Windows Phone--
--Microsoft-- --Windows Phone-- Microsoft Windows Phone Course 10553A: Fundamentals of XAML and Microsoft Expression Blend Course Outline Module 1: Binding in XAML This module familiarizes the students
More informationPortable Class Libraries ---
Portable Class Libraries --- Overview In this lab, you ll learn about Portable Class Libraries (PCLs). PCLs enable you to create managed assemblies that work on more than one.net Framework platform. Within
More informationPaul Boisvert. Director Product Management, Magento
Magento 2 Overview Paul Boisvert Director Product Management, Magento Platform Goals Release Approach 2014 2015 2016 2017 2.0 Dev Beta 2.0 Merchant Beta 2.x Ongoing Releases 2.0 Dev RC 2.0 Merchant GA
More informationDeep Security Integration with Sumo Logic
A Trend Micro White Paper I May 2016 Install, Integrate and Analyze» This paper is aimed at information security and solution architects looking to integrate the Trend Micro Deep Security with Sumo Logic.
More informationMicrosoft Partner Day. Introduction to SharePoint for.net Developer
Microsoft Partner Day Introduction to SharePoint for.net Developer 1 Agenda SharePoint Product & Technology Windows SharePoint Services for Developers Visual Studio Extensions For Windows SharePoint Services
More informationThere is no such thing as a microservice!
There is no such thing as a microservice! Chris Richardson Founder of Eventuate.io Founder of the original CloudFoundry.com Author of POJOs in Action chris@chrisrichardson.net http://microservices.io http://eventuate.io
More informationXML Web Service? A programmable component Provides a particular function for an application Can be published, located, and invoked across the Web
Web Services. XML Web Service? A programmable component Provides a particular function for an application Can be published, located, and invoked across the Web Platform: Windows COM Component Previously
More informationWindows Presentation Foundation. Jim Fawcett CSE687 Object Oriented Design Spring 2018
Windows Presentation Foundation Jim Fawcett CSE687 Object Oriented Design Spring 2018 References Pro C# 5 and the.net 4.5 Platform, Andrew Troelsen, Apress, 2012 Programming WPF, 2nd edition, Sells & Griffiths,
More informationNE.15 Data Binding In Windows Presentation Foundation
NE.15 Data Binding In Windows Presentation Foundation Brian Noyes Chief Architect IDesign Inc (www.idesign.net) 1 About Brian Chief Architect, IDesignInc. (www.idesign.net) Microsoft Regional Director/MVP
More informationLVL08 Black Belt Silverlight Business Data Validation
LVL08 Black Belt Silverlight Business Data Validation Brian Noyes Chief Architect, IDesign Inc (www.idesign.net) brian.noyes@idesign.net, @briannnoyes About Brian Chief Architect IDesign Inc. (www.idesign.net)
More informationSoftware Components and Distributed Systems
Software Components and Distributed Systems INF5040/9040 Autumn 2017 Lecturer: Eli Gjørven (ifi/uio) September 12, 2017 Outline Recap distributed objects and RMI Introduction to Components Basic Design
More informationArcGIS Pro SDK for.net: Advanced User Interfaces in Add-ins. Wolfgang Kaiser
ArcGIS Pro SDK for.net: Advanced User Interfaces in Add-ins Wolfgang Kaiser Framework Elements - Recap Any Framework Element is an extensibility point - Controls (Button, Tool, and variants) - Hosted on
More informationFoundations and Concepts. 04 December 2017 vrealize Automation 7.3
Foundations and Concepts 04 December 2017 vrealize Automation 7.3 You can find the most up-to-date technical documentation on the VMware website at: https://docs.vmware.com/ If you have comments about
More informationPatterns and Testing
and Lecture # 7 Department of Computer Science and Technology University of Bedfordshire Written by David Goodwin, based on the lectures of Marc Conrad and Dayou Li and on the book Applying UML and (3
More informationSDD Proposal to COSMOS
IBM Tivoli Software SDD Proposal to COSMOS Jason Losh (SAS), Oasis SDD TC Tooling Lead Mark Weitzel (IBM), COSMOS Architecture Team Lead Why: Customer Problems Customer Feedback More than half of outages
More informationMATLAB-Based Policy Simulator
DRAFT MATLAB-Based Policy Simulator Regulatory & Risk Analytics (RRA) Prepared by Seth Aslin Date: October 2013 Presentation Outline Background and context to Project Navigator General project objectives
More informationGetting Started with ExcelMVC
Getting Started with ExcelMVC Just like Silverlight or WPF (Windows Presentation Foundation), ExcelMVC facilitates a clear separation between your application s business objects (Models), its user interfaces
More informationDeveloping Rich Internet Applications Using Microsoft Silverlight 4
Developing Rich Internet Applications Using Microsoft Silverlight 4 Duration: 5 Days Course Code: M10554 Overview: This course covers intermediate and advanced topics required to develop professional Silverlight
More informationFoundations and Concepts
vrealize Automation 7.2 This document supports the version of each product listed and supports all subsequent versions until the document is replaced by a new edition. To check for more recent editions
More informationVMware AirWatch Content Gateway for Linux. VMware Workspace ONE UEM 1811 Unified Access Gateway
VMware AirWatch Content Gateway for Linux VMware Workspace ONE UEM 1811 Unified Access Gateway You can find the most up-to-date technical documentation on the VMware website at: https://docs.vmware.com/
More informationAndroid PC Splash Brothers Design Specifications
Android PC Splash Brothers Design Specifications Contributors: Zach Bair Taronish Daruwalla Joshua Duong Anthony Nguyen 1. Technology background The Android x86 project has been in existence since 2011.
More informationINFRAGISTICS Silverlight 15.2 Volume Release Notes 2015
INFRAGISTICS Silverlight 15.2 Volume Release Notes 2015 Raise the Bar on Both Business Intelligence and Web UI with Infragistics Silverlight Controls. Infragistics Silverlight controls provide breadth
More informationMastering LOB Development
Mastering LOB Development for Silverlight 5: A Case Study in Action Develop a full LOB Silverlight 5 application from scratch with the help of expert advice and an accompanying case study Braulio Di'ez
More informationMicroservices Beyond the Hype. SATURN San Diego May 3, 2016 Paulo Merson
Microservices Beyond the Hype SATURN San Diego May 3, 2016 Paulo Merson Our goal Try to define microservice Discuss what you gain and what you lose with microservices 2 Defining Microservice Unfortunately
More informationDependency Injection with ObjectPoolManager
Dependency Injection with ObjectPoolManager Recently I got my hands over some of the IOC tools available for.net and really liked the concept of dependency injection from starting stage of application
More informationEnabling Performance & Stress Test throughout the Application Lifecycle
Enabling Performance & Stress Test throughout the Application Lifecycle March 2010 Poor application performance costs companies millions of dollars and their reputation every year. The simple challenge
More information20483BC: Programming in C#
20483BC: Programming in C# Course length: 5 day(s) Course Description The goal of this course is to help students gain essential C# programming skills. This course is an entry point into the Windows Store
More informationSocket attaches to a Ratchet. 2) Bridge Decouple an abstraction from its implementation so that the two can vary independently.
Gang of Four Software Design Patterns with examples STRUCTURAL 1) Adapter Convert the interface of a class into another interface clients expect. It lets the classes work together that couldn't otherwise
More informationSemantics, Metadata and Identifying Master Data
Semantics, Metadata and Identifying Master Data A DataFlux White Paper Prepared by: David Loshin, President, Knowledge Integrity, Inc. Once you have determined that your organization can achieve the benefits
More informationRadGanttView For Silverlight and WPF
RadGanttView For Silverlight and WPF This tutorial will introduce RadGanttView, part of the Telerik suite of XAML controls. Setting Up The Project To begin, open Visual Studio and click on the Telerik
More informationSearch in SharePoint 2013
Search in SharePoint 2013 Peter Carson President, Envision IT SharePoint MVP Virtual Technical Specialist, Microsoft Canada peter@envisionit.com http://blog.petercarson.ca www.envisionit.com Twitter @carsonpeter
More informationAn Introduction to Software Architecture. David Garlan & Mary Shaw 94
An Introduction to Software Architecture David Garlan & Mary Shaw 94 Motivation Motivation An increase in (system) size and complexity structural issues communication (type, protocol) synchronization data
More informationTopics. Software Process. Agile. Requirements. Basic Design. Modular Design. Design Patterns. Testing. Quality. Refactoring.
CS310 - REVIEW Topics Process Agile Requirements Basic Design Modular Design Design Patterns Testing Quality Refactoring UI Design How these things relate Process describe benefits of using a software
More informationExtensibility, Componentization, and Infrastructure
Extensibility, Componentization, and Infrastructure Ted Slupesky (slupesky@us.ibm.com) Copyright 2006 IBM Corp. Available under terms of the Eclipse Public License http://www.eclipse.org/legal/epl-v10.html
More informationLogging, Monitoring, and Alerting
Logging, Monitoring, and Alerting Logs are a part of daily life in the DevOps world In security, we focus on particular logs to detect security anomalies and for forensic capabilities A basic logging pipeline
More informationMicrosoft CSharp
Microsoft 70-511-CSharp Windows Apps Dev Microsoft.NET Framework 4 Download Full Version : https://killexams.com/pass4sure/exam-detail/70-511-csharp QUESTION: 59 You are developing a Windows Presentation
More informationCisco pxgrid: A New Architecture for Security Platform Integration
Cisco pxgrid: A New Architecture for Security Platform Integration Brian Gonsalves Product Manager #clmel Agenda Cisco pxgrid in Summary pxgrid Use-Cases How to Develop Using pxgrid Getting Started Cisco
More informationEffective Unit Testing
Effective Unit Testing A guide forjava developers LASSE KOSKELA 11 MANNING Shelter Island contents xv preface acknowledgments xvii about this book xix about the cover illustration xxiv Part 1 Foundations
More informationCHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application
BACKBONE.JS Sencha Touch CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application A RapidValue Solutions Whitepaper Author: Pooja Prasad, Technical Lead, RapidValue Solutions Contents Executive
More informationApplication management in Nokia: Getting the most from Company Apps
Application management in Nokia: Getting the most from Case Study 2 Contents 1 Challenge...3 2...5 2.1 Deployment options...5 2.2 App security and authentication...7 2.3 Nokia...7 3 Company Hub...9 3.1
More informationClass Inheritance and OLE Integration (Formerly the Common Object Model)
TM Class Inheritance and OLE Integration (Formerly the Common Object Model) Technical Overview Shawn Woods, Mike Vogl, and John Parodi August 1995 Digital Equipment Corporation Introduction This paper
More informationTraining Consulting - Mentoring
Training Consulting - Mentoring Official Course Syllabus CSLA Master Class 5 days DUNN Training and Consulting 4805 Rambling Rose Drive Cumming, GA 30040 770 653-6364 mailto:info@dunntraining.com http://www.dunntraining.com/
More information2012 Microsoft Corporation. All rights reserved. Microsoft, Active Directory, Excel, Lync, Outlook, SharePoint, Silverlight, SQL Server, Windows,
2012 Microsoft Corporation. All rights reserved. Microsoft, Active Directory, Excel, Lync, Outlook, SharePoint, Silverlight, SQL Server, Windows, Windows Server, and other product names are or may be registered
More informationEPM Live 2.2 Configuration and Administration Guide v.os1
Installation Configuration Guide EPM Live v2.2 Version.01 April 30, 2009 EPM Live 2.2 Configuration and Administration Guide v.os1 Table of Contents 1 Getting Started... 5 1.1 Document Overview... 5 1.2
More information(9A05803) WEB SERVICES (ELECTIVE - III)
1 UNIT III (9A05803) WEB SERVICES (ELECTIVE - III) Web services Architecture: web services architecture and its characteristics, core building blocks of web services, standards and technologies available
More informationREPORT MICROSOFT PATTERNS AND PRACTICES
REPORT MICROSOFT PATTERNS AND PRACTICES Corporate Headquarters Nucleus Research Inc. 100 State Street Boston, MA 02109 Phone: +1 617.720.2000 Nucleus Research Inc. TOPICS Application Development & Integration
More informationDependency Injection & Design Principles Recap Reid Holmes
Material and some slide content from: - Krzysztof Czarnecki - Ian Sommerville - Head First Design Patterns Dependency Injection & Design Principles Recap Reid Holmes REID HOLMES - SE2: SOFTWARE DESIGN
More informationSecuring ArcGIS Server Services An Introduction
2013 Esri International User Conference July 8 12, 2013 San Diego, California Technical Workshop Securing ArcGIS Server Services An Introduction David Cordes & Derek Law Esri - Redlands, CA Agenda Security
More informationPlatform SDK Deployment Guide. Platform SDK 8.1.2
Platform SDK Deployment Guide Platform SDK 8.1.2 1/1/2018 Table of Contents Overview 3 New in this Release 4 Planning Your Platform SDK Deployment 6 Installing Platform SDK 8 Verifying Deployment 10 Overview
More informationMobility best practice. Tiered Access at Google
Mobility best practice Tiered Access at Google How can IT leaders enable the productivity of employees while also protecting and securing corporate data? IT environments today pose many challenges - more
More informationCan Harmonization be Achieved via Standardization?: New Concrete Opportunities from the CCSDS Mission Operations Services
Can Harmonization be Achieved via Standardization?: New Concrete Opportunities from the CCSDS Mission Operations Services CCSDS Spacecraft (SM&C) Mario Merri (ESA), Chair GSAW, Los Angeles, USA - 1 Mar
More informationObject Relationships
Object Relationships Objects can work together in three different types of relationships: Uses: An object can use another to do some work (association). Composition: A complex object may be composed of
More information