Clean Architecture Patterns, Practices, and #DevSum17
|
|
- Tabitha Nelson
- 6 years ago
- Views:
Transcription
1 Clean Architecture Patterns, Practices, and #DevSum17
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
27 Decisions, Decisions, Decisions Context is king All decisions are a tradeoff
28 Decisions, Decisions, Decisions Context is king All decisions are a tradeoff Use your best judgement
29 Domain-Centric Architecture
30 Venus Mars Earth Mercury Sun Moon Jupiter Saturn
31 Earth Mars Venus Sun Mercury Jupiter Saturn
32 Venus Earth Mars Earth Mercury Sun Mars Venus Sun Mercury Moon Jupiter Saturn Jupiter Saturn Geocentric Model Heliocentric Model
33 Classic 3-layer Database-centric Architecture UI Business Logic Data Access Database Database
34 Database- vs. Domain-centric Architecture UI Presentation Business Logic Application Data Access Database Database Database Domain Database
35 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
36 Essential vs. Detail Space is essential Usability is essential
37 Essential vs. Detail Building material is a detail Ornamentation is a detail
38 Essential vs. Detail Domain is essential Use cases are essential
39 Essential vs. Detail Presentation is a detail Persistence is a detail
40 Database- vs. Domain-centric Architecture UI Presentation Business Logic Application Data Access Database Database Database Domain Database
41 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:
42 Onion Architecture User Interface Application Services Domain Services Domain Database Model Application Core web service file DB Original source:
43 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:
44 It s All the Same Thing Hexagonal Onion Clean Original Source:
45 Why Use Domain-Centric Architecture? Pros Focus on essential Less coupling to details Necessary for DDD
46 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
47 Application Layer
48 What Are Layers? Levels of abstraction Single-Responsibility Principle Developer roles / skills Multiple implementations Varying rates of change
49 Classic 3-Layer Architecture Users UI Business Logic Data Access Database Dependency
50 Modern 4-Layer Architecture Users Presentation Application Domain Persistence Infrastructure Cross-Cutting Concerns Database OS Dependency
51 Application Layer Users Implements use cases High-level application logic Presentation Application Domain Persistence Infrastructure Cross-Cutting Concerns Database OS Dependency
52 Application Layer Users Knows about domain No knowledge of other layers Contains interfaces for details Presentation Application Domain Persistence Infrastructure Cross-Cutting Concerns Database OS Dependency
53 Layer Dependencies Users Dependency inversion Inversion of control Presentation Application Domain Persistence Infrastructure Cross-Cutting Concerns Database OS Flow of Control Dependency
54 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
55 Users Presentation SalesController Application ICreateSaleCommand CreateSaleCommand IDatabaseContext IInventoryClient Domain IDateService DateService Cross-Cutting Concerns Sale Persistence DatabaseContext Database InventoryClient OS Infrastructure Composition Implements
56 Why Use an Application Layer? Pros Focus is on use cases Easy to understand Follows DIP
57 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
58 Commands and Queries
59 Command-Query Separation Command Does something Should modify state Should not return a value
60 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
61 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!
62 CQRS Architectures Users Presentation Queries Commands Domain Data Access Persistence Database Data Flow
63 CQRS Architectures Users Presentation Queries Commands Domain Data Access Persistence Database Data Flow
64 CQRS Architectures Users Presentation Queries Commands Domain Data Access Persistence Database Data Flow
65 CQRS Architectures Users Presentation Queries Commands Domain Data Access Persistence Database Data Flow
66 CQRS Type 1 Single Database Users Presentation Queries Commands Domain Data Access Persistence Database Data Flow
67 CQRS Type 1 Single Database Users Presentation Queries Commands Domain Data Access Persistence Database Data Flow
68 CQRS Type 1 Single Database Users Presentation Queries Commands Domain Data Access Persistence Database Data Flow
69 CQRS Type 2 Read/Write Databases Users Presentation Queries Commands Domain Data Access Read Database Persistence Write Database Data Flow
70 CQRS Type 2 Read/Write Databases Users Presentation Queries Commands Domain Data Access Read Database Persistence Write Database Data Flow
71 CQRS Type 2 Read/Write Databases Users Presentation Queries Commands Domain Data Access Read Database Persistence Write Database Data Flow
72 CQRS Type 2 Read/Write Databases Users Presentation Queries Commands Domain Data Access Read Database Persistence Write Database Data Flow
73 CQRS Type 2 Read/Write Databases Users Presentation Queries Commands Domain Data Access Read Database Persistence Write Database Data Flow
74 CQRS Type 3 Event Sourcing Users Presentation Queries Commands Domain Data Access Read Database Persistence Event Store Data Flow
75 CQRS Type 3 Event Sourcing Users Events Queries Presentation Commands Domain Sale Created Item 1 Added Item 2 Added Data Access Persistence Payment Made Read Database Event Store Data Flow Sale Completed
76 CQRS Type 3 Event Sourcing Users Events Queries Presentation Commands Domain Sale Created Item 1 Added Item 2 Added Data Access Persistence Payment Made Read Database Event Store Data Flow Sale Completed
77 CQRS Type 3 Event Sourcing Users Presentation Queries Commands Domain Data Access Read Database Persistence Event Store Data Flow
78 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
79 Why Use CQRS? Pros More efficient design Simpler within each stack Optimized performance
80 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
81 Functional Organization
82 The architecture should scream the intent of the system! Uncle Bob
83 Bedroom Bath Kitchen Entry Bedroom Dining Room Living Room Utility
84 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
85 Models Views Controllers
86 Models Customers vs Views Controllers Products Vendors
87 Content Controllers Models Scripts Views
88 Content Controllers Models Scripts Views vs Customers Employees Products Sales Vendors
89 So what?
90
91 vs
92 Why Use Functional Organization Pros Spatial locality Easy to navigate Avoid vendor lock-in
93 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
94 Microservices
95 Components Users UI Sales Support Inventory Business Sales Support Inventory Data Access Sales Support Inventory Database
96 Problem Domain Sales Sales Opportunity Contact Sales Person Product Sales Territory Support Support Ticket Customer Support Person Product Resolution
97 Single Domain Model Customer Sales Territory Sales Opportunity Product Support Ticket Resolution Employee
98 Single Domain Model Customer Sales Territory Sales Opportunity Product Support Ticket Resolution Employee
99 Single Domain Model Customer Sales Territory Sales Opportunity Product Support Ticket Resolution Employee
100 Single Domain Model Customer Sales Territory Sales Opportunity Product Support Ticket Resolution Employee
101 Overlapping Contexts Sales Customer Support Sales Territory Sales Opportunity Product Support Ticket Resolution Employee
102 Bounded Contexts Sales Support Contact Customer Sales Territory Sales Opportunity Product Product Support Ticket Resolution Sales Person Support Person
103 Microservice Architectures Support Sales Inventory Marketing HR
104 Microservice Architectures Support Subdivide system Sales Inventory Marketing HR
105 Microservice Architectures Support Subdivide system Light-weight APIs Sales Inventory Marketing HR
106 Microservice Architectures Support Subdivide system Light-weight APIs Small teams Sales Inventory Marketing HR
107 Microservice Architectures Support Independent Sales Inventory Marketing HR
108 Microservice Architectures Support Independent Similar to SOA Sales Inventory Marketing HR
109 Microservice Architectures Support Independent Similar to SOA Size matters Sales Inventory Marketing HR
110 Why Use Microservices? Pros Less cost for large domains Smaller teams Independence
111 Why Use Microservices? Pros Less cost for large domains Smaller teams Independence Cons Only for large domains Higher up-front cost Distributed system costs
112 Code Demo
113 Where to Go Next? Martin Fowler
114 Where to Go Next? Robert C. Martin
115 Where to Go Next? Eric Evans
116 Where to Go Next? Greg Young Udi Dahan
117 Where to Go Next? Articles Courses Presentations Source Code Videos
118
119 Conclusion
120 Summary Focus on the inhabitants
121 Summary Focus on the inhabitants Domain-centric Architecture Presentation Application Database Domain
122 Summary Focus on the inhabitants Domain-centric Architecture Application Layer Users Presentation Application Domain Persistence Infrastructure Cross-Cutting Concerns Database OS
123 Summary Focus on the inhabitants Domain-centric Architecture Application Layer Commands and Queries Queries Users Presentation Commands Domain Data Access Persistence Database
124 Summary Focus on the inhabitants Domain-centric Architecture Application Layer Commands and Queries Functional Cohesion Products Customers Vendors
125 Summary Focus on the inhabitants Domain-centric Architecture Application Layer Commands and Queries Functional Cohesion Bounded Contexts Sales Marketing Support Inventory HR
126 Feedback Very important to me! One thing you liked? One thing I could improve?
127 Contact Info Matthew Renze Data Science Consultant Renze Consulting Website: Thank You! : )
Clean Architecture Patterns, Practices, and #sddconf
Clean Architecture Patterns, Practices, and Principles @matthewrenze #sddconf About Me Independent consultant Education B.S. in Computer Science (ISU) B.A. in Philosophy (ISU) Community Public Speaker
More informationA 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 informationMicroservices Beyond the Hype. SATURN San Diego May 3, 2016 Paulo Merson
Microservices Beyond the Hype SATURN San Diego May 3, 2016 Paulo Merson Our goal Try to define microservice Discuss what you gain and what you lose with microservices 2 Defining Microservice Unfortunately
More informationBUILDING 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 informationThere is no such thing as a microservice!
There is no such thing as a microservice! Chris Richardson Founder of Eventuate.io Founder of the original CloudFoundry.com Author of POJOs in Action chris@chrisrichardson.net http://microservices.io http://eventuate.io
More informationSOA 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 informationEnterprise 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 informationManaging 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 informationBuild Testable Client and Service Applications
Build Testable Client and Service Applications Brian Noyes IDesign Inc (www.idesign.net) brian.noyes@idesign.net About Brian Chief Architect IDesign Inc. (www.idesign.net) Microsoft Regional Director MVP
More informationHi! 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 informationHEARTLAND 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 informationMicroservices 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 informationApplication management in Nokia: Getting the most from Company Apps
Application management in Nokia: Getting the most from Case Study 2 Contents 1 Challenge...3 2...5 2.1 Deployment options...5 2.2 App security and authentication...7 2.3 Nokia...7 3 Company Hub...9 3.1
More informationCisco 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 informationTesting 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 informationAvancier 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 informationLuckily, 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 informationComponent-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 informationChoice, 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 informationApplication 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 informationVendor: 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 informationCSSE 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 informationReactive 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 informationArchitecting 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 informationCQRS 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 informationService-Based Architecture
Service-Based Architecture Mark Richards Independent Consultant Hands-on So*ware Architect Published Author / Conference Speaker h
More informationLogging, Monitoring, and Alerting
Logging, Monitoring, and Alerting Logs are a part of daily life in the DevOps world In security, we focus on particular logs to detect security anomalies and for forensic capabilities A basic logging pipeline
More informationIBM 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 informationMicroservice 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 informationDocker 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 informationGlass 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 informationFREQUENTLY 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 informationArchitectural 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 informationImproving 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 informationMigrating 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 informationImprove 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 informationDell 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 informationSharePoint 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 informationScaling 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 informationTech 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 informationFull 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 informationin 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 informationArchitecting 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 informationAgile 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 informationServices 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 informationArcSight 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 information5. 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 informationCopyright 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 informationWEB & 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 informationXBS 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 informationNevin Dong 董乃文 Principle Technical Evangelist Microsoft Cooperation
Nevin Dong 董乃文 Principle Technical Evangelist Microsoft Cooperation Microservices Autonomous API Gateway Events Service Discovery Circuit Breakers Commands Aggregates Bounded Context Event Bus Domain Events
More informationAugust, 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 informationSecurity 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 informationHOW TO WRITE USER STORIES (AND WHAT YOU SHOULD NOT DO) Stuart Ashman, QA Director at Mio Global Bob Cook, Senior Product Development Manager, Sophos
HOW TO WRITE USER STORIES (AND WHAT YOU SHOULD NOT DO) Stuart Ashman, QA Director at Mio Global Bob Cook, Senior Product Development Manager, Sophos Welcome This presentation will discuss Writing user
More informationDeveloping 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 informationGoal: 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 informationMicrosoft 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 informationAutomated 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 informationMastering 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 informationBuilding 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 informationLogical 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 informationOracle 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 informationObject 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 informationDomain 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 informationOracle 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 informationBuilding flexible and scalable applications
Building flexible and scalable applications Using CQRS and Axon Framework Allard Buijze abu@trifork.com @allardbz Allard Buijze CTO of Trifork Amsterdam ~ 15 years of web development experience Strong
More informationFROM LEGACY TO MICROSERVICES Lessons learned on the road to success by Miles & More
FROM LEGACY TO MICROSERVICES Lessons learned on the road to success by Miles & More Matthias Krohnen - Miles & More Manager IT, Lead Innovation Lab Torben Jäger - Red Hat Specialist Solution Architect
More informationAnnouncements. 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 informationBy 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 informationREPORT MICROSOFT PATTERNS AND PRACTICES
REPORT MICROSOFT PATTERNS AND PRACTICES Corporate Headquarters Nucleus Research Inc. 100 State Street Boston, MA 02109 Phone: +1 617.720.2000 Nucleus Research Inc. TOPICS Application Development & Integration
More informationUser 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 informationMVC 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 informationApplying 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 informationSecuring 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 informationAndroid PC Splash Brothers Design Specifications
Android PC Splash Brothers Design Specifications Contributors: Zach Bair Taronish Daruwalla Joshua Duong Anthony Nguyen 1. Technology background The Android x86 project has been in existence since 2011.
More informationJUNOS 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 informationCHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application
BACKBONE.JS Sencha Touch CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application A RapidValue Solutions Whitepaper Author: Pooja Prasad, Technical Lead, RapidValue Solutions Contents Executive
More informationGary 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 informationCreating 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 informationLiving 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 informationTECHNICAL 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 informationWhat 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 informationWebSphere 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 informationSite 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 informationCYBER THREAT INTEL: A STATE OF MIND. Internal Audit, Risk, Business & Technology Consulting
CYBER THREAT INTEL: A STATE OF MIND Internal Audit, Risk, Business & Technology Consulting WHO ARE WE? Randy Armknecht, CISSP, EnCE Protiviti Director - IT Consulting randy.armknecht@protiviti.com Albin
More informationImplementing 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 informationREALIZE 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 informationCS 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 informationWeb Service. Development. Framework and API. Management. Strategy and Best Practices. Yong Cao The Boeing Company RROI #: CORP
RROI #: 17-00633-CORP Web Service Development Framework and API Management Strategy and Best Practices Yong Cao The Boeing Company GPDIS_2017.ppt 1 Vision: Service and Web APIs Legacy Apps COTS Web APIs
More informationSahi. Cost effective Web Automation
Sahi Cost effective Web Automation What is Sahi? Automates web applications Started in 2005 Mature business ready product Aimed at testers in Agile and traditional environments Focus Aimed at testers For
More informationUp and Running Software The Development Process
Up and Running Software The Development Process Success Determination, Adaptative Processes, and a Baseline Approach About This Document: Thank you for requesting more information about Up and Running
More informationThe de constructed. Magento module
The de constructed Magento module James Cowie Technical Team Lead Inviqa t/@jcowie gh/jamescowie 2016 Magento Master mover deconstruct... verb de con struct \ˌdē-kən-ˈstrəkt\ To take apart or examine in
More information1 Software Architecture
Some buzzwords and acronyms for today Software architecture Design pattern Separation of concerns Single responsibility principle Keep it simple, stupid (KISS) Don t repeat yourself (DRY) Don t talk to
More informationAPI: Design-First Approach Author : Bidyut Bhattacharjee
Whitepaper API: Design-First Approach Author : Bidyut Bhattacharjee Contents 1. What is an API and Why is it Needed 3 2. 3. 4. What Defines a Good API? API Design-First Approach Summary 3 4-5 6 L&T Infotech
More informationTable 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 informationImplementation Architecture
Implementation Architecture Software Architecture VO/KU (707023/707024) Roman Kern ISDS, TU Graz 2017-11-15 Roman Kern (ISDS, TU Graz) Implementation Architecture 2017-11-15 1 / 54 Outline 1 Definition
More informationTrade 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 informationPlease give me your feedback
#HPEDiscover Please give me your feedback Session ID: B4385 Speaker: Aaron Spurlock Use the mobile app to complete a session survey 1. Access My schedule 2. Click on the session detail page 3. Scroll down
More informationDesigning 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 informationUnderstanding and Documenting Web APIs
Understanding and Documenting Web APIs tekom 2017, Stuttgart, Germany Oct 24-26 2017 Anne Tarnoruder SAP Labs Israel Ltd. anne.tarnoruder@sap.com https://www.linkedin.com/in/annetarnoruder/ Part 1. Understanding
More information