Clean Architecture Patterns, Practices, and #sddconf

Size: px
Start display at page:

Download "Clean Architecture Patterns, Practices, and #sddconf"

Transcription

1 Clean Architecture Patterns, Practices, and #sddconf

2

3

4

5

6

7

8 About Me Independent consultant Education B.S. in Computer Science (ISU) B.A. in Philosophy (ISU) Community Public Speaker Pluralsight Author Microsoft MVP ASPInsider Open-Source Software

9 Overview 1. Clean Architecture 2. Domain-Centric Architecture 3. Application Layer 4. Commands and Queries 5. Functional Organization 6. Microservices

10 Focus Enterprise Architecture Line-of-Business Applications Modern equivalent of 3-Layer

11 Focus Generally applicable 6 Key Points Q & A

12 What is Software Architecture? High-level Structure Layers Components Relationships Source: en-us/library/ff aspx

13 Levels of Architectural Abstraction System Sub-systems Layers Components Classes Data and Methods

14 Levels of Architectural Abstraction System Sub-systems Layers Components Classes Data and Methods

15 Messy vs Clean Architecture

16 Messy vs Clean Architecture

17 Messy vs Clean Architecture

18 What Is Bad Architecture? Complex Inconsistent Incoherent Rigid Brittle Untestable Unmaintainable

19 What Is Clean Architecture? Simple Understandable Flexible Emergent Testable Maintainable

20 What Is Clean Architecture? Architecture that is designed for the inhabitants of the architecture not for the architect or the machine

21 What Is Clean Architecture? Architecture that is designed for the inhabitants of the architecture not for the architect or the machine

22 What Is Clean Architecture? Architecture that is designed for the inhabitants of the architecture not for the architect or the machine

23 What Is Clean Architecture? Architecture that is designed for the inhabitants of the architecture not for the architect or the machine

24 What Is Clean Architecture? Architecture that is designed for the inhabitants of the architecture not for the architect or the machine

25 Why Is Clean Architecture Important? Cost/benefit Minimize cost to maintain Maximize business value

26 Decisions, Decisions, Decisions Context is king All decisions are a tradeoff Use your best judgement

27 Domain-Centric Architecture

28 Venus Mars Earth Mercury Sun Moon Jupiter Saturn

29 Earth Mars Venus Sun Mercury Jupiter Saturn

30 Venus Earth Mars Earth Mercury Sun Mars Venus Sun Mercury Moon Jupiter Saturn Jupiter Saturn Geocentric Model Heliocentric Model

31 Classic 3-layer Database-centric Architecture UI Business Logic Data Access Database Database

32 Database- vs. Domain-centric Architecture UI Presentation Business Logic Application Data Access Database Database Database Domain Database

33 The first concern of the architect is to make sure that the house is usable, it is not to ensure that the house is made of brick. Uncle Bob

34 Essential vs. Detail Space is essential Usability is essential

35 Essential vs. Detail Space is essential Usability is essential Building material is a detail Ornamentation is a detail

36 Essential vs. Detail Domain is essential Use cases are essential

37 Essential vs. Detail Domain is essential Use cases are essential Presentation is a detail Persistence is a detail

38 Database- vs. Domain-centric Architecture UI Presentation Business Logic Application Data Access Database Database Database Domain Database

39 Hexagonal Architecture answering machine adapter http feed GUI http adapter Application adapter mock telephone database adapter DB app app-to-app adapter test adapter mock database Original source:

40 Onion Architecture User Interface Application Services Domain Services Domain Database Model Application Core web service file DB Original source:

41 Clean Architecture Controllers Use Cases Database Entities Presenter Use case output port I Flow of Control Use case interactor External Interfaces Controller Use case input port I Original source:

42 It s All the Same Thing Hexagonal Onion Clean Original Source:

43 Why Use Domain-Centric Architecture? Pros Focus on essential Less coupling to details Necessary for DDD

44 Why Use Domain-Centric Architecture? Pros Focus on essential Less coupling to details Necessary for DDD Cons Change is difficult Requires extra thought Initial higher cost

45 Application Layer

46 What Are Layers? Levels of abstraction Single-Responsibility Principle Developer roles / skills Multiple implementations Varying rates of change

47 Classic 3-Layer Architecture Users UI Business Logic Data Access Database Dependency

48 Modern 4-Layer Architecture Users Presentation Application Domain Persistence Infrastructure Cross-Cutting Concerns Database OS Dependency

49 Application Layer Implements use cases High-level application logic Knows about domain No knowledge of other layers Contains interfaces for details Users Presentation Application Domain Persistence Infrastructure Cross-Cutting Concerns Database OS Dependency

50 Layer Dependencies Users Dependency inversion Inversion of control Independent deployability Flexibility and maintainability Presentation Application Domain Persistence Infrastructure Cross-Cutting Concerns Database OS Flow of Control Dependency

51 Users Presentation SalesController Application ICreateSaleCommand CreateSaleCommand IDatabaseContext IInventoryClient Domain IDateService DateService Cross-Cutting Concerns Sale Persistence DatabaseContext Database InventoryClient OS Infrastructure Composition Implements

52 Why Use an Application Layer? Pros Focus is on use cases Easy to understand Follows DIP

53 Why Use an Application Layer? Pros Focus is on use cases Easy to understand Follows DIP Cons Additional cost Requires extra thought IoC is counter-intuitive

54 Commands and Queries

55 Command-Query Separation Command Does something Should modify state Should not return a value

56 Command-Query Separation Command Does something Should modify state Should not return a value Query Answers a question Should not modify state Always returns a value

57 Command-Query Separation Command Does something Should modify state Should not return a value (ideally) Query Answers a question Should not modify state Always returns a value Avoid mixing the two!

58 CQRS Architectures Users Presentation Queries Commands Domain Data Access Persistence Database Data Flow

59 CQRS Type 1 Single Database Users Presentation Queries Commands Domain Data Access Persistence Database Data Flow

60 CQRS Type 2 Read/Write Databases Users Presentation Queries Commands Domain Data Access Read Database Persistence Write Database Data Flow

61 CQRS Type 3 Event Sourcing Users Presentation Queries Commands Domain Data Access Read Database Persistence Event Store Data Flow

62 CQRS Type 3 Event Sourcing Users Complete audit trail Point-in-time reconstruction Replay events Rebuild production database Presentation Queries Commands Domain Data Access Persistence Read Database Event Store

63 Why Use CQRS? Pros More efficient design Simpler within each stack Optimized performance

64 Why Use CQRS? Pros More efficient design Simpler within each stack Optimized performance Cons Inconsistent across stacks Type 2 is more complex Type 3 might be overkill

65 Functional Organization

66 The architecture should scream the intent of the system! Uncle Bob

67 Bedroom Bath Kitchen Entry Bedroom Dining Room Living Room Utility

68 Material Quantity Cost Appliances 5 $5,000 Cabinets 10 $2,500 Doors 15 $750 Fixtures 12 $2,400 Floors 9 $4,000 Walls 20 $10,000 Windows 8 $2,500

69 Models Views Controllers

70 Models Customers vs Views Controllers Products Vendors

71 Content Controllers Models Scripts Views

72 Content Controllers Models Scripts Views vs Customers Employees Products Sales Vendors

73 So what?

74

75 vs

76 Why Use Functional Organization Pros Spatial locality Easy to navigate Avoid vendor lock-in

77 Why Use Functional Organization Pros Spatial locality Easy to navigate Avoid vendor lock-in Cons Lose framework conventions Lose automatic scaffolding Categorical is easier at first

78 Microservices

79 Components Users UI Sales Support Inventory Business Sales Support Inventory Data Access Sales Support Inventory Database

80 Problem Domain Sales Sales Opportunity Contact Sales Person Product Sales Territory Support Support Ticket Customer Support Person Product Resolution

81 Single Domain Model Customer Sales Territory Sales Opportunity Product Support Ticket Resolution Employee

82 Overlapping Contexts Sales Customer Support Sales Territory Sales Opportunity Product Support Ticket Resolution Employee

83 Bounded Contexts Sales Support Contact Customer Sales Territory Sales Opportunity Product Product Support Ticket Resolution Sales Person Support Person

84 Microservice Architectures Support Subdivide system Bounded contexts Small teams Sales Inventory Marketing HR

85 Microservice Architectures Support Independent Similar to SOA Sales Inventory Marketing HR

86 Why Use Microservices? Pros Less cost for large domains Smaller teams Independence

87 Why Use Microservices? Pros Less cost for large domains Smaller teams Independence Cons Only for large domains Higher up-front cost Distributed system costs

88 Code Demo

89 Where to Go Next? Martin Fowler

90 Where to Go Next? Robert C. Martin

91 Where to Go Next? Eric Evans

92 Where to Go Next? Greg Young Udi Dahan

93 Where to Go Next? Articles Courses Presentations Source Code Videos

94

95 Conclusion

96 Summary Focus on the inhabitants

97 Summary Focus on the inhabitants Domain-centric Architecture Presentation Application Database Domain

98 Summary Focus on the inhabitants Domain-centric Architecture Application Layer Users Presentation Application Domain Persistence Infrastructure Cross-Cutting Concerns Database OS

99 Summary Focus on the inhabitants Domain-centric Architecture Application Layer Commands and Queries Queries Users Presentation Commands Domain Data Access Persistence Database

100 Summary Focus on the inhabitants Domain-centric Architecture Application Layer Commands and Queries Functional Cohesion Products Customers Vendors

101 Summary Focus on the inhabitants Domain-centric Architecture Application Layer Commands and Queries Functional Cohesion Bounded Contexts Sales Marketing Support Inventory HR

102 Feedback Feedback is very important to me! One thing you liked? One thing I could improve?

103 Contact Info Matthew Renze Data Science Consultant Renze Consulting Website: Thank You! : )

Clean Architecture Patterns, Practices, and #DevSum17

Clean Architecture Patterns, Practices, and #DevSum17 Clean Architecture Patterns, Practices, and Principles @matthewrenze #DevSum17 About Me Independent consultant Education B.S. in Computer Science (ISU) B.A. in Philosophy (ISU) Community Public Speaker

More information

A Separation of Concerns Clean Architecture on Android

A Separation of Concerns Clean Architecture on Android A Separation of Concerns Clean Architecture on Android Kamal Kamal Mohamed Android Developer, //TODO Find Better Title @ Outware Mobile Ryan Hodgman Official Despiser of Utils Classes @ Outware Mobile

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

BUILDING MICROSERVICES ON AZURE. ~ Vaibhav

BUILDING MICROSERVICES ON AZURE. ~ Vaibhav BUILDING MICROSERVICES ON AZURE ~ Vaibhav Gujral @vabgujral About Me Over 11 years of experience Working with Assurant Inc. Microsoft Certified Azure Architect MCSD, MCP, Microsoft Specialist Aspiring

More information

Enterprise Java Development using JPA, Hibernate and Spring. Srini Penchikala Detroit JUG Developer Day Conference November 14, 2009

Enterprise Java Development using JPA, Hibernate and Spring. Srini Penchikala Detroit JUG Developer Day Conference November 14, 2009 Enterprise Java Development using JPA, Hibernate and Spring Srini Penchikala Detroit JUG Developer Day Conference November 14, 2009 About the Speaker Enterprise Architect Writer, Speaker, Editor (InfoQ)

More information

SOA Distilled. Udi Dahan The Software Simplist..NET Development Expert & SOA Specialist Microsoft Solutions Architect MVP

SOA Distilled. Udi Dahan The Software Simplist..NET Development Expert & SOA Specialist Microsoft Solutions Architect MVP SOA Distilled Udi Dahan The Software Simplist.NET Development Expert & SOA Specialist Microsoft Solutions Architect MVP Udi Dahan - The Software Simplist Consulting, Mentoring & Training Helping you Keep

More information

Managing Data at Scale: Microservices and Events. Randy linkedin.com/in/randyshoup

Managing Data at Scale: Microservices and Events. Randy linkedin.com/in/randyshoup Managing Data at Scale: Microservices and Events Randy Shoup @randyshoup linkedin.com/in/randyshoup Background VP Engineering at Stitch Fix o Combining Art and Science to revolutionize apparel retail Consulting

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

Avancier Methods. Very basic design patterns. It is illegal to copy, share or show this document

Avancier Methods. Very basic design patterns. It is illegal to copy, share or show this document Methods Very basic design patterns It is illegal to copy, share or show this document (or other document published at http://avancier.co.uk) without the written permission of the copyright holder Copyright

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

Hi! NET Developer Group Braunschweig!

Hi! NET Developer Group Braunschweig! Hi! NET Developer Group Braunschweig! Über Tobias Dipl. Informatiker (FH) Passionated Software Developer Clean Code Developer.NET Junkie.NET User Group Lead Microsoft PFE Software Development Twitter @Blubern

More information

Vendor: Oracle. Exam Code: 1z Exam Name: Siebel Customer Relationship Management (CRM) 8 Business Analyst. Version: Demo

Vendor: Oracle. Exam Code: 1z Exam Name: Siebel Customer Relationship Management (CRM) 8 Business Analyst. Version: Demo Vendor: Oracle Exam Code: 1z0-219 Exam Name: Siebel Customer Relationship Management (CRM) 8 Business Analyst Version: Demo QUESTION NO: 1 When does data get written to the Siebel database during Task

More information

Architecting and Implementing Domain-driven Design Patterns in.net

Architecting and Implementing Domain-driven Design Patterns in.net Architecting and Implementing Domain-driven Design Patterns in.net Dino Esposito JetBrains dino.esposito@jetbrains.com @despos facebook.com/naa4e WARNING This is NOT simply a shameless plug but a truly

More information

Cisco Tetration Analytics

Cisco Tetration Analytics Cisco Tetration Analytics Enhanced security and operations with real time analytics John Joo Tetration Business Unit Cisco Systems Security Challenges in Modern Data Centers Securing applications has become

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

Component-Level Design. Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman. For non-profit educational use only

Component-Level Design. Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman. For non-profit educational use only Chapter 10 Component-Level Design Slide Set to accompany Software Engineering: A Practitioner s Approach, 7/e by Roger S. Pressman Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman For non-profit

More information

Luckily, our enterprise had most of the back-end (services, middleware, business logic) already.

Luckily, our enterprise had most of the back-end (services, middleware, business logic) already. 2 3 4 The point here is that for real business applications, there is a connected back-end for services. The mobile part of the app is just a presentation layer that is unique for the mobile environment.

More information

CQRS and Event Sourcing for Java Developers Markus Eisele

CQRS and Event Sourcing for Java Developers Markus Eisele CQRS and Event Sourcing for Java Developers Markus Eisele @myfear Agenda Classical architectures and modernization CRUD vs. CQRS A little example Wrapping it up Classical Architectures Application Server

More information

IBM Application Runtime Expert for i

IBM Application Runtime Expert for i IBM Application Runtime Expert for i Tim Rowe timmr@us.ibm.com Problem Application not working/starting How do you check everything that can affect your application? Backup File Owner & file size User

More information

HEARTLAND DEVELOPER CONFERENCE 2017 APPLICATION DATA INTEGRATION WITH SQL SERVER INTEGRATION SERVICES

HEARTLAND DEVELOPER CONFERENCE 2017 APPLICATION DATA INTEGRATION WITH SQL SERVER INTEGRATION SERVICES HEARTLAND DEVELOPER CONFERENCE 2017 APPLICATION DATA INTEGRATION WITH SQL SERVER INTEGRATION SERVICES SESSION ABSTRACT: APPLICATION DATA INTEGRATION WITH SQL SERVER INTEGRATION SERVICES What do you do

More information

Microservices with Kafka Ecosystem. Guido Schmutz

Microservices with Kafka Ecosystem. Guido Schmutz Microservices with Kafka Ecosystem Guido Schmutz @gschmutz doag2017 Guido Schmutz Working at Trivadis for more than 20 years Oracle ACE Director for Fusion Middleware and SOA Consultant, Trainer Software

More information

Application Deployment on IBM i

Application Deployment on IBM i Application Deployment on IBM i Mike Pavlak Solution Consultant Agenda Discuss architecture of and IBM i environment Explore what we use at Zend Change Management options Q&A 2 Disclaimer! Eric Ritchie

More information

Testing NodeJS, REST APIs and MongoDB with UFT January 19, 2016

Testing NodeJS, REST APIs and MongoDB with UFT January 19, 2016 Testing NodeJS, REST APIs and MongoDB with UFT January 19, 2016 Brought to you by Hosted By Bernard P. Szymczak Ohio Chapter Leader HP Software Education SIG Leader TQA SIG Leader Today s Speakers Ori

More information

CSSE 374: Logical Architecture. Shawn Bohner Office: Moench Room F212 Phone: (812)

CSSE 374: Logical Architecture. Shawn Bohner Office: Moench Room F212 Phone: (812) CSSE 374: Logical Architecture Shawn Bohner Office: Moench Room F212 Phone: (812) 877-8685 Email: bohner@rose-hulman.edu An Engineering Decision Learning Outcomes: O-O Design Demonstrate object-oriented

More information

SharePoint For All. Jennie Delisi Accessibility Analyst Kris Schulze User Experience

SharePoint For All. Jennie Delisi Accessibility Analyst Kris Schulze User Experience SharePoint For All Jennie Delisi Accessibility Analyst Kris Schulze User Experience Question 1 Do you work for the State of MN, county, city, other? (Text field beside other) State of MN executive branch

More information

Microservice Splitting the Monolith. Software Engineering II Sharif University of Technology MohammadAmin Fazli

Microservice Splitting the Monolith. Software Engineering II Sharif University of Technology MohammadAmin Fazli Microservice Software Engineering II Sharif University of Technology MohammadAmin Fazli Topics Seams Why to split the monolith Tangled Dependencies Splitting and Refactoring Databases Transactional Boundaries

More information

Copyright Wyyzzk, Inc Version 5.0. Introduction to Software Architecture

Copyright Wyyzzk, Inc Version 5.0. Introduction to Software Architecture Introduction to Software Architecture Lesson Goal & Objectives Understand the purpose of software architecture. Upon completion of the lesson, the participant will be able to: Describe the purpose of software

More information

Services Oriented Architecture and the Enterprise Services Bus

Services Oriented Architecture and the Enterprise Services Bus IBM Software Group Services Oriented Architecture and the Enterprise Services Bus The next step to an on demand business Geoff Hambrick Distinguished Engineer, ISSW Enablement Team ghambric@us.ibm.com

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

Docker and Oracle Everything You Wanted To Know

Docker and Oracle Everything You Wanted To Know Docker and Oracle Everything You Wanted To Know June, 2017 Umesh Tanna Principal Technology Sales Consultant Oracle Sales Consulting Centers(SCC) Bangalore Safe Harbor Statement The following is intended

More information

Architectural Styles I

Architectural Styles I Architectural Styles I Software Architecture VO/KU (707023/707024) Roman Kern KTI, TU Graz 2015-01-07 Roman Kern (KTI, TU Graz) Architectural Styles I 2015-01-07 1 / 86 Outline 1 Non-Functional Concepts

More information

Choice, Choices, Choices: Fat versus Thin Clients

Choice, Choices, Choices: Fat versus Thin Clients Choice, Choices, Choices: Fat versus Thin Clients David Moskowitz Productivity Solutions, Inc. David Moskowitz Choices, Choices, Choices: Fat vs. Thin Clients Page 1 Agenda Definitions Myths Choices Approaches

More information

Logical Architecture & Design Preliminaries

Logical Architecture & Design Preliminaries Logical Architecture & Design Preliminaries CSSE 574: Week 2, Part 4 Steve Chenoweth Phone: Office (812) 877-8974 Cell (937) 657-3885 Email: chenowet@rose-hulman.edu From Requirements to Architecture Customer

More information

Goal: Offer practical information to help the architecture evaluation of an SOA system. Evaluating a Service-Oriented Architecture

Goal: Offer practical information to help the architecture evaluation of an SOA system. Evaluating a Service-Oriented Architecture Evaluating a Service-Oriented Architecture Paulo Merson, SEI with Phil Bianco, SEI Rick Kotermanski, Summa Technologies May 2007 Goal: Offer practical information to help the architecture evaluation of

More information

Building loosely coupled and scalable systems using Event-Driven Architecture. Jonas Bonér Patrik Nordwall Andreas Källberg

Building loosely coupled and scalable systems using Event-Driven Architecture. Jonas Bonér Patrik Nordwall Andreas Källberg Building loosely coupled and scalable systems using Event-Driven Architecture Jonas Bonér Patrik Nordwall Andreas Källberg Why is EDA Important for Scalability? What building blocks does EDA consists of?

More information

Service-Based Architecture

Service-Based Architecture Service-Based Architecture Mark Richards Independent Consultant Hands-on So*ware Architect Published Author / Conference Speaker h

More information

Automated Bundling and Other New Features in IBM License Metric Tool 7.5 Questions & Answers

Automated Bundling and Other New Features in IBM License Metric Tool 7.5 Questions & Answers ILMT Central Team Automated Bundling and Other New Features in IBM License Metric Tool 7.5 Questions & Answers Information These slides were just the deck of the ILMT Central Team Questions&Answers session.

More information

By Philip Japikse MVP, MCSD.Net, MCDBA, CSM Principal Consultant Pinnacle Solutions Group

By Philip Japikse MVP, MCSD.Net, MCDBA, CSM Principal Consultant Pinnacle Solutions Group By Philip Japikse Phil.Japikse@pinnsg.com MVP, MCSD.Net, MCDBA, CSM Principal Consultant Pinnacle Solutions Group Phone:513-619-6323 Fax:513-791-5202 1 Principal Consultant, Pinnacle Solutions Group, Inc.

More information

Glass V4, More Info For Your Solution

Glass V4, More Info For Your Solution Glass V4, More Info For Your Solution Mike Edwards Glass @mikeedwards83 @glasslu 1 Glass V4, More Info For Your Solution Modeling Mike Edwards Glass @mikeedwards83 @glasslu 2 Hello! Mike Edwards Sitecore

More information

Oracle Applications in a Changing Business World. Legacy Oracle Applications Won't Be Around Forever. Will You?

Oracle Applications in a Changing Business World. Legacy Oracle Applications Won't Be Around Forever. Will You? Oracle Applications in a Changing Business World Legacy Oracle Applications Won't Be Around Forever. Will You? Ross Smith Chief Architect July 7, 2017 2 Oracle Applications in a Changing Business World

More information

Improving Application Performance by Submitting Scripts to Batch using Zend Server for IBM i

Improving Application Performance by Submitting Scripts to Batch using Zend Server for IBM i Improving Application Performance by Submitting Scripts to Batch using Zend Server for IBM i Mike Pavlak Solution Consultant mike.p@zend.com Insert->Header 1 & Footer Agenda Overview of Zend Server Advantages

More information

Domain Driven Design IS. An architectural methodology for evolving a software system that closely aligns to business requirements

Domain Driven Design IS. An architectural methodology for evolving a software system that closely aligns to business requirements Domain Driven Design IS An architectural methodology for evolving a software system that closely aligns to business requirements Domain Driven Design IS Domain First Focus on the Object Model Focus on

More information

Migrating traditional Java EE applications to mobile

Migrating traditional Java EE applications to mobile Migrating traditional Java EE applications to mobile Serge Pagop Sr. Channel MW Solution Architect, Red Hat spagop@redhat.com Burr Sutter Product Management Director, Red Hat bsutter@redhat.com 2014-04-16

More information

Improve SSIS Delivery with a Patterns-Based Approach. Meagan Longoria July 19, 2017

Improve SSIS Delivery with a Patterns-Based Approach. Meagan Longoria July 19, 2017 Improve SSIS Delivery with a Patterns-Based Approach Meagan Longoria July 19, 2017 What If I Told You 90% of your data integration development in SQL Server could be automated? In 5 years, you will be

More information

Agile Architecture. The Why, the What and the How

Agile Architecture. The Why, the What and the How Agile Architecture The Why, the What and the How Copyright Net Objectives, Inc. All Rights Reserved 2 Product Portfolio Management Product Management Lean for Executives SAFe for Executives Scaled Agile

More information

ArcSight Activate Framework

ArcSight Activate Framework ArcSight Activate Framework Petropoulos #HPProtect 44% Have trouble managing their SIEM eiqnetworks 2013 SIEM Survey #1 challenge Identification of key events SANS 2012 Log Management and Event Management

More information

Dell Digital Signage. One Solution. Infinite Possibilities.

Dell Digital Signage. One Solution. Infinite Possibilities. Dell Digital Signage TM One Solution. Infinite Possibilities. Dell Digital Signage Dell simplifies digital signage by providing the complete digital signage solution hardware, software, and services customized

More information

Scaling Trust with Millions of Containers: Microsegmentation Strategies for Authorization

Scaling Trust with Millions of Containers: Microsegmentation Strategies for Authorization Scaling Trust with Millions of Containers: Microsegmentation Strategies for Authorization 1 About Me Drupal Security Team Database Maintainer Service Mgmt for RHEL/Ubuntu Committer Scalable CGroups Management

More information

Reactive Systems. Dave Farley.

Reactive Systems. Dave Farley. Reactive Systems Dave Farley http://www.davefarley.net @davefarley77 Reactive Systems 21st Century Architecture for 21st Century Problems Dave Farley http://www.davefarley.net @davefarley77 http://www.continuous-delivery.co.uk

More information

Architecting ASP.NET Applications

Architecting ASP.NET Applications Architecting ASP.NET Applications About me Name: Gunnar Peipman Origin: Tallinn, Estonia Work: Architect, developer Microsoft: ASP.NET/IIS MVP Community: Blogger, speaker Blog: http://gunnarpeipman.com

More information

Site Design. SWE 432, Fall 2017 Design and Implementation of Software for the Web

Site Design. SWE 432, Fall 2017 Design and Implementation of Software for the Web Site Design SWE 432, Fall 2017 Design and Implementation of Software for the Web Today How do you help users understand if it is possible to do what they d like to do? How do you help users find what they

More information

FREQUENTLY ASKED QUESTIONS

FREQUENTLY ASKED QUESTIONS Borland Together FREQUENTLY ASKED QUESTIONS GENERAL QUESTIONS What is Borland Together? Borland Together is a visual modeling platform that enables software teams to consistently deliver on-time, high

More information

WEB & MOBILE AUTOMATION

WEB & MOBILE AUTOMATION WEB & MOBILE AUTOMATION 11 th Feb 2017 Presenter: (CoE) 9 Mansi, 5 th Floor, Cross Lane No. 1, Ram Maruti Road, Thane West Email: info@educognitio.com Phone: +91 (0)22 65555131 Web:http://www.educognitio.com

More information

5. Application Layer. Introduction

5. Application Layer. Introduction Book Preview This is a sample chapter of Professional PHP - Building maintainable and secure applications. The book starts with a few theory chapters and after that it is structured as a tutorial. The

More information

Implementing Your BYOD Mobility Strategy An IT Checklist and Guide

Implementing Your BYOD Mobility Strategy An IT Checklist and Guide Implementing Your BYOD Mobility Strategy An IT Checklist and Guide 2012 Enterproid IBYOD: 120221 Content 1. Overview... 1 2. The BYOD Checklist... 1 2.1 Application Choice... 1 2.2 Installation and Configuration...

More information

CS 2530 INTERMEDIATE COMPUTING

CS 2530 INTERMEDIATE COMPUTING CS 2530 INTERMEDIATE COMPUTING Spring 2016 1-8-2018 Michael J. Holmes University of Northern Iowa Object Oriented Concepts In some cases we ll learn the concepts prior to learning the terminology. Other

More information

XBS Application Development Platform

XBS Application Development Platform Introduction to XBS Application Development Platform By: Liu, Xiao Kang (Ken) Xiaokang Liu Page 1/10 Oct 2011 Overview The XBS is an application development platform. It provides both application development

More information

Security Challenges: Integrating Apple Computers into Windows Environments

Security Challenges: Integrating Apple Computers into Windows Environments Integrating Apple Computers into Windows Environments White Paper Parallels Mac Management for Microsoft SCCM 2018 Presented By: Table of Contents Environments... 3 Requirements for Managing Mac Natively

More information

Table of Contents: Toll Free: 1 (855) Mobile: 1 (250)

Table of Contents: Toll Free: 1 (855) Mobile: 1 (250) Table of Contents: Topology:... 2 Hardware Stack:... 3 Rack Images:... 4 Software Stack:... 5 Development Environment:... 5 Roles Summary:... 6 Visual Studio Solution Metrics:... 7 121 SQL Tables / Diagrams

More information

Trade Show Internet White Paper: How to Discuss Your Event s WiFi Needs - A Primer for Event Planners

Trade Show Internet White Paper: How to Discuss Your Event s WiFi Needs - A Primer for Event Planners Trade Show Internet White Paper: How to Discuss Your Event s WiFi Needs - A Primer for Event Planners Table of Contents Executive Summary... 3 5 Steps to Assess Your Event s WiFi Appetite... 4 Bandwidth

More information

Developing Java TM 2 Platform, Enterprise Edition (J2EE TM ) Compatible Applications Roles-based Training for Rapid Implementation

Developing Java TM 2 Platform, Enterprise Edition (J2EE TM ) Compatible Applications Roles-based Training for Rapid Implementation Developing Java TM 2 Platform, Enterprise Edition (J2EE TM ) Compatible Applications Roles-based Training for Rapid Implementation By the Sun Educational Services Java Technology Team January, 2001 Copyright

More information

August, HPE Propel Microservices & Jumpstart

August, HPE Propel Microservices & Jumpstart August, 2016 HPE Propel s & Jumpstart Jumpstart Value Quickly build modern web applications Single page application Modular microservices architecture app generator Modularity provides better upgradeability

More information

Microsoft 365 powered device webinar series Microsoft 365 powered device Assessment Kit. Alan Maddison, Architect Amit Bhatia, Architect

Microsoft 365 powered device webinar series Microsoft 365 powered device Assessment Kit. Alan Maddison, Architect Amit Bhatia, Architect Microsoft 365 powered device webinar series Microsoft 365 powered device Assessment Kit Alan Maddison, Architect Amit Bhatia, Architect Why did we create the Assessment kit? Assessment objectives Assess

More information

Designing Enterprise IT Systems with REST: A (Cloudy) Case Study. Stuart Charlton Chief Software Architect, Elastra

Designing Enterprise IT Systems with REST: A (Cloudy) Case Study. Stuart Charlton Chief Software Architect, Elastra Designing Enterprise IT Systems with REST: A (Cloudy) Case Study Stuart Charlton Chief Software Architect, Elastra Objectives What enterprise problem domains does RESTful architecture handle well? Understanding

More information

Full Stack Reactive Angular 2, RxJava/JS, Vert.x, Docker

Full Stack Reactive Angular 2, RxJava/JS, Vert.x, Docker Full Stack Reactive Angular 2, RxJava/JS, Vert.x, Docker 02.03.2017 About Myself DR. ALEXANDER FRIED Chief Technology Officer 2 OUR SOLUTIONS DIGITAL ASSET MANAGEMENT Organize & Share Any File, Any Format,

More information

TOPICS. HARDWARE REQUIREMENTS Components Required Suggested Computers. WORKFLOW 1: REVIT - 3DS MAX - UNITY Process Capabilities Limitations

TOPICS. HARDWARE REQUIREMENTS Components Required Suggested Computers. WORKFLOW 1: REVIT - 3DS MAX - UNITY Process Capabilities Limitations REVIT TO VR WORKFLOW TOPICS HARDWARE REQUIREMENTS Components Required Suggested Computers WORKFLOW 1: REVIT - 3DS MAX - UNITY Process Capabilities Limitations WORKFLOW 2: 3DS MAX - UNITY Process Capabilities

More information

Tech Talk Nutanix Calm. Greg Smith, VP Product Marketing Gil Haberman, Director of Product Marketing

Tech Talk Nutanix Calm. Greg Smith, VP Product Marketing Gil Haberman, Director of Product Marketing Tech Talk Nutanix Calm Greg Smith, VP Product Marketing Gil Haberman, Director of Product Marketing Building an Enterprise Cloud One-Click Operations Virtualization Server Data Protection Storage Networking

More information

Test Your XAML-based Windows Store Apps with Visual Studio 2013 Benjamin Day

Test Your XAML-based Windows Store Apps with Visual Studio 2013 Benjamin Day Test Your XAML-based Windows Store Apps with Visual Studio 2013 Benjamin Day Level: Intermediate Benjamin Day Brookline, MA Consultant, Coach, & Trainer Microsoft MVP for Visual Studio ALM Team Foundation

More information

Announcements. Problem Set 3 due Friday, October 21. Alternate Midterm Times. Drop by office hours! Ask questions at

Announcements. Problem Set 3 due Friday, October 21. Alternate Midterm Times. Drop by office hours! Ask questions at Functions Announcements Problem Set 3 due Friday, October 21 Drop by office hours! Ask questions at cs103@cs.stanford.edu. Alternate Midterm Times Wednesday, October 26, 7:00PM 10:00PM Thursday, October

More information

User Story Workshop. BA-Squared, LLC

User Story Workshop. BA-Squared, LLC User Story Workshop BA-Squared, LLC User Story Level of Detail User Stories elaborate over time, just like other requirements. Start high level and break them into smaller pieces. Product View Release

More information

Mastering SOA Challenges more cost-effectively. Bodo Bergmann Senior Software Engineer Ingres Corp.

Mastering SOA Challenges more cost-effectively. Bodo Bergmann Senior Software Engineer Ingres Corp. Mastering SOA Challenges more cost-effectively Bodo Bergmann Senior Software Engineer Ingres Corp. 1 Contents Tell me why? SOA INGRES and SOA SOA Challenges Mastering selected challenges 2 Service-Oriented

More information

Oracle Forms and Oracle APEX The Odd Couple

Oracle Forms and Oracle APEX The Odd Couple Oracle Forms and Oracle APEX The Odd Couple About me 2 Francis Mignault CTO and Co-founder, Insum Solutions 30+ years with Oracle DB, 14+ years with APEX. (Forms 2.3 / Oracle 5) Books: Expert Oracle Application

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

Simplified and Consolidated Parallel Media File System Solution

Simplified and Consolidated Parallel Media File System Solution Simplified and Consolidated Parallel Media File System Solution Presenters : Dr. M. K. Jibbe, Technical Director NetApp ESG Joey Parnell, Software Architect NetApp, ESG 2018 Storage Developer Conference.

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

Microservices. treatment. and Modularity. or the difference between. and cure. Milen MARCH 17, 2015

Microservices. treatment. and Modularity. or the difference between. and cure. Milen MARCH 17, 2015 Microservices and Modularity or the difference between treatment and cure Milen Dyankov @milendyankov MARCH 17, 2015 ~$ pidof java ~$ pidof java 9927 2151 ~$ ~$ pidof java 9927 2151 ~$ ps aux grep java

More information

Creating a New Plan File

Creating a New Plan File 1 Tutorial NAME Creating a New Plan File 2 The first step in creating your own design is to open and name a new plan file. 1. From the MENU BAR, select File, New Plan. 2. From the MENU BAR, select File,

More information

Object Oriented Analysis and Design - Part2(Design)

Object Oriented Analysis and Design - Part2(Design) Object Oriented Analysis and Design - Part2(Design) Exam A QUESTION 1 Which statement is true about elements within the subsystem and public visibility? A. Only the subset of elements that define the subsystems

More information

MVC / MVP Mei Nagappan

MVC / MVP Mei Nagappan Material and some slide content from: - Krzysztof Czarnecki - Ian Sommerville - Reid Holmes - Head First Design Patterns MVC / MVP Mei Nagappan [Image from: http://merroun.wordpress.com/2012/03/28/mvvm-mvp-and-mvc-software-patterns-againts-3-layered-architecture/

More information

JUNOS SPACE. Product Description. Product Overview

JUNOS SPACE. Product Description. Product Overview DATASHEET JUNOS SPACE Product Overview Juniper Networks Junos Space is an open software platform designed for deploying and creating Juniperdeveloped, partner, and third-party applications. It consists

More information

Applying Microservices in Webservices, with An Implementation Idea

Applying Microservices in Webservices, with An Implementation Idea International Conference on Computer Applications 64 International Conference on Computer Applications 2016 [ICCA 2016] ISBN 978-81-929866-5-4 VOL 05 Website icca.co.in email icca@asdf.res.in Received

More information

User Interfaces for Web Sites and Mobile Devices. System and Networks

User Interfaces for Web Sites and Mobile Devices. System and Networks User Interfaces for Web Sites and Mobile Devices System and Networks Computer Systems and Networks: Device-Aware Interfaces Interfaces must take into account physical constraints of computers and networks:

More information

Gary Winter Eric Wauters Vjeko Babic Mark Brummel

Gary Winter Eric Wauters Vjeko Babic Mark Brummel Gary Winter Eric Wauters Vjeko Babic Mark Brummel DDC is Three Years young! About Me Mark Brummel 15 Years of NAV Experience MVP Since 2006 Co-Founder of Dutch Dynamics Community Co-Founder and CEO of

More information

What s New in the IBM Lotus Notes Client. Kevin O Connell, Consulting Manager, IBM Asia Pacific

What s New in the IBM Lotus Notes Client. Kevin O Connell, Consulting Manager, IBM Asia Pacific Technical Track What s New in the IBM Lotus Notes Client Kevin O Connell, Consulting Manager, IBM Asia Pacific ID101 What's New in the IBM Lotus Notes Client Kevin O'Connell Asia Pacific Consulting Manager

More information

in Microservices using DDD, Event Sourcing & CQRS Augusto Branquinho Mike Shigueru Matsumoto

in Microservices using DDD, Event Sourcing & CQRS Augusto Branquinho Mike Shigueru Matsumoto in Microservices using DDD, Event Sourcing & CQRS Augusto Branquinho Mike Shigueru Matsumoto 1. Real Wave Modules Marketing Sales Care Technical stack Frontend Integration Backend Payments Insights Integration

More information

Part 3: Surprising Insider Threat Findings in Enterprise Environments

Part 3: Surprising Insider Threat Findings in Enterprise Environments Part 3: Surprising Insider Threat Findings in Enterprise Environments Carrie McDaniel Emerging Products Lead Imperva 2016 Imperva, Inc. All rights reserved. Imperva UBA Kill Chain Study Tool effectiveness

More information

WebSphere Puts Business In Motion. Put People In Motion With Mobile Apps

WebSphere Puts Business In Motion. Put People In Motion With Mobile Apps WebSphere Puts Business In Motion Put People In Motion With Mobile Apps Use Mobile Apps To Create New Revenue Opportunities A clothing store increases sales through personalized offers Customers can scan

More information

Living with HIPAA: Compendium of Next steps from Rural Hospitals to Large Health Systems to Physician Practices

Living with HIPAA: Compendium of Next steps from Rural Hospitals to Large Health Systems to Physician Practices Living with HIPAA: Compendium of Next steps from Rural Hospitals to Large Health Systems to Physician Practices Presented by HIPAA Pros 5th Annual HIPAA Summit Baltimore, Maryland October 31. 2002 Living

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

TECHNICAL SESSIONS OFFICE DEVELOPMENT

TECHNICAL SESSIONS OFFICE DEVELOPMENT v Hit the ground running with the Microsoft Graph Presented by: Gavin Barron Do you need to get data from a range of Microso3 services? Do you want to enrich your applica&on with data from other parts

More information

(Movement - Synthesis) Improve existing programming skills by developing much larger and more complex programs than in previous classes.

(Movement - Synthesis) Improve existing programming skills by developing much larger and more complex programs than in previous classes. Location MWF 1205-1255 Klaus 1443 Class Objective Purpose: CS2340 takes students who know an object-oriented language, and focuses on getting them to use that language in a true object-oriented style.

More information

BECOME A LOAD TESTING ROCK STAR

BECOME A LOAD TESTING ROCK STAR 3 EASY STEPS TO BECOME A LOAD TESTING ROCK STAR Replicate real life conditions to improve application quality Telerik An Introduction Software load testing is generally understood to consist of exercising

More information

Securing ArcGIS for Server. David Cordes, Raj Padmanabhan

Securing ArcGIS for Server. David Cordes, Raj Padmanabhan Securing ArcGIS for Server David Cordes, Raj Padmanabhan Agenda Security in the context of ArcGIS for Server User and Role Considerations Identity Stores Authentication Securing web services Protecting

More information

Creating a Hybrid Gateway for API Traffic. Ed Julson API Platform Product Marketing TIBCO Software

Creating a Hybrid Gateway for API Traffic. Ed Julson API Platform Product Marketing TIBCO Software Creating a Hybrid Gateway for API Traffic Ed Julson API Platform Product Marketing TIBCO Software Housekeeping Webinar Recording Today s webinar is being recorded and a link to the recording will be emailed

More information

Bruno Bossola SOLID Design Principles

Bruno Bossola SOLID Design Principles Bruno Bossola SOLID Design Principles About me C Developer since 1988 Java developer since 1996 XP Coach during 2000 2001 Lead coordinator and co founder of JUG Torino in 2001 Sun Java Champion since 2005

More information

MVC The Good, The Bad and the Evil. Hadi Hariri Developer & Technical Evangelist JetBrains

MVC The Good, The Bad and the Evil. Hadi Hariri Developer & Technical Evangelist JetBrains MVC The Good, The Bad and the Evil Hadi Hariri Developer & Technical Evangelist JetBrains http://hadihariri.com http://twitter.com/hhariri

More information

Software Development Process Models

Software Development Process Models Software Development Process Models From classical notions to more agile approaches th@cs.toronto.edu, BA8134 Code & Fix or Cowboy Coding 1) Write program 2) Test and fix program Problems: program users

More information

FOR IMMEDIATE RELEASE

FOR IMMEDIATE RELEASE Contact: Lee Paul (CEO) c. 239.405.8427 e. lpaul@surroundtech.com FOR IMMEDIATE RELEASE Surround Technologies Announces New Accelerator for.net Version 4.3 Bloomfield, NJ December 3, 2013 Surround Technologies

More information

REALIZE YOUR. DIGITAL VISION with Digital Private Cloud from Atos and VMware

REALIZE YOUR. DIGITAL VISION with Digital Private Cloud from Atos and VMware REALIZE YOUR DIGITAL VISION with Digital Private Cloud from Atos and VMware Today s critical business challenges and their IT impact Business challenges Maximizing agility to accelerate time to market

More information

Topic : Object Oriented Design Principles

Topic : Object Oriented Design Principles Topic : Object Oriented Design Principles Software Engineering Faculty of Computing Universiti Teknologi Malaysia Objectives Describe the differences between requirements activities and design activities

More information