KnOwledge

Size: px
Start display at page:

Download "KnOwledge"

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 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 information

Composite Application Guidance for WPF and Silverlight (AKA Prism 2 )

Composite 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 information

Build Better WPF & Silverlight applications using Prism v2

Build 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 information

Prism Composite Application Guidance

Prism 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 information

AR.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) 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 information

Building Loosely Coupled XAML Client Apps with Prism

Building 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 information

Implementing 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. 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 information

Telerik Sales Dashboard: an Extensible Cross-Platform Application

Telerik 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 information

04 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 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 information

WPF and MVVM Study Guides

WPF 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 information

ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK

ArcGIS 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 information

Application Architecture Guide. Don Smith Community Liaison Microsoft patterns & practices

Application 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 information

Building 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 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 information

Pro 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 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 information

Build Loosely Coupled Silverlight Business Applications

Build 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 information

03 Model-View-ViewModel. Ben Riga

03 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 information

Index. Application programming interface (API), 38. Binary Application Markup Language (BAML), 4

Index. 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 information

Upgrading to Windows Server 2008

Upgrading 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 information

Advance 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 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 information

Learn.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 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 information

Cross-Platform Mobile Platforms and Xamarin. Presented by Mir Majeed

Cross-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 information

Workspace Desktop Edition Developer's Guide. Best Practices for Views

Workspace 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 information

This document contains a general description of the MVVMStarter project, and specific guidelines for how to add a new domain class to the project.

This 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 information

Workspace Desktop Edition Developer's Guide. Workspace Desktop Edition 8.5.1

Workspace 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 information

Building Extensible XAML Client Apps

Building 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 information

Building Extensible XAML Client Apps

Building 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 information

Developing Rich Internet Applications Using Microsoft Silverlight 4

Developing 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 information

Object oriented programming. Encapsulation. Polymorphism. Inheritance OOP

Object 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 information

Workspace Desktop Edition Developer's Guide. Frequently Asked Questions

Workspace 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 information

Find it all with SharePoint Enterprise Search

Find 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 information

Super 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 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 information

ArcGIS Pro SDK for.net Beginning Pro Customization. Charles Macleod

ArcGIS 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 information

1 Software Architecture

1 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 information

Build Testable Client and Service Applications

Build 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 information

1. Introduction. 2. Technology concepts

1. 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 information

Practical WPF. Learn by Working Professionals

Practical 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 information

Learn to Behave Extend Your XAML with Behaviors

Learn 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 information

This tutorial is designed for software developers who want to learn how to develop quality applications with clean structure of code.

This 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 information

What are the characteristics of Object Oriented programming language?

What 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 information

ArcGIS 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 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 information

Configuring and Customizing the ArcGIS Viewer for Silverlight. Katy Dalton

Configuring 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 information

Blissful Separation of Concerns with Model-View-ViewModel (MVVM)

Blissful 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 information

SharePoint 2010 Enterprise Content Management for IT Pros. Mirjam van Olst Macaw

SharePoint 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 information

ArcGIS Viewer for Silverlight Advanced Topics

ArcGIS 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 information

To 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, 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 information

What is a Pattern? Lecture 40: Design Patterns. Elements of Design Patterns. What are design patterns?

What 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 information

Application Architectures, Design Patterns

Application 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 information

Learn to develop.net applications and master related technologies.

Learn 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-- 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 information

Portable Class Libraries ---

Portable 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 information

Paul Boisvert. Director Product Management, Magento

Paul 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 information

Deep Security Integration with Sumo Logic

Deep 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 information

Microsoft Partner Day. Introduction to SharePoint for.net Developer

Microsoft 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 information

There is no such thing as a microservice!

There 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 information

XML Web Service? A programmable component Provides a particular function for an application Can be published, located, and invoked across the Web

XML 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 information

Windows Presentation Foundation. Jim Fawcett CSE687 Object Oriented Design Spring 2018

Windows 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 information

NE.15 Data Binding In Windows Presentation Foundation

NE.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 information

LVL08 Black Belt Silverlight Business Data Validation

LVL08 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 information

Software Components and Distributed Systems

Software 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 information

ArcGIS 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 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 information

Foundations and Concepts. 04 December 2017 vrealize Automation 7.3

Foundations 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 information

Patterns and Testing

Patterns 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 information

SDD Proposal to COSMOS

SDD 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 information

MATLAB-Based Policy Simulator

MATLAB-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 information

Getting Started with ExcelMVC

Getting 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 information

Developing Rich Internet Applications Using Microsoft Silverlight 4

Developing 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 information

Foundations and Concepts

Foundations 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 information

VMware 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 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 information

Android PC Splash Brothers Design Specifications

Android 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 information

INFRAGISTICS Silverlight 15.2 Volume Release Notes 2015

INFRAGISTICS 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 information

Mastering LOB Development

Mastering 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 information

Microservices Beyond the Hype. SATURN San Diego May 3, 2016 Paulo Merson

Microservices 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 information

Dependency Injection with ObjectPoolManager

Dependency 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 information

Enabling Performance & Stress Test throughout the Application Lifecycle

Enabling 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 information

20483BC: Programming in C#

20483BC: 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 information

Socket attaches to a Ratchet. 2) Bridge Decouple an abstraction from its implementation so that the two can vary independently.

Socket 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 information

Semantics, Metadata and Identifying Master Data

Semantics, 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 information

RadGanttView For Silverlight and WPF

RadGanttView 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 information

Search in SharePoint 2013

Search 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 information

An Introduction to Software Architecture. David Garlan & Mary Shaw 94

An 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 information

Topics. Software Process. Agile. Requirements. Basic Design. Modular Design. Design Patterns. Testing. Quality. Refactoring.

Topics. 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 information

Extensibility, Componentization, and Infrastructure

Extensibility, 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 information

Logging, Monitoring, and Alerting

Logging, 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 information

Microsoft CSharp

Microsoft 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 information

Cisco pxgrid: A New Architecture for Security Platform Integration

Cisco 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 information

Effective Unit Testing

Effective 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 information

CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application

CHOOSING 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 information

Application management in Nokia: Getting the most from Company Apps

Application 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 information

Class Inheritance and OLE Integration (Formerly the Common Object Model)

Class 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 information

Training Consulting - Mentoring

Training 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 information

2012 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, 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 information

EPM Live 2.2 Configuration and Administration Guide v.os1

EPM 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)

(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 information

REPORT MICROSOFT PATTERNS AND PRACTICES

REPORT 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 information

Dependency Injection & Design Principles Recap Reid Holmes

Dependency 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 information

Securing ArcGIS Server Services An Introduction

Securing 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 information

Platform SDK Deployment Guide. Platform SDK 8.1.2

Platform 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 information

Mobility best practice. Tiered Access at Google

Mobility 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 information

Can 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 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 information

Object Relationships

Object 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