Complex event flows in distributed systems
|
|
- Sydney Bradley
- 6 years ago
- Views:
Transcription
1 Complex event flows in distributed With thoughts
2 3 common hypotheses I check today: # Events decrease coupling # Orchestration needs to be avoided # Workflow engines are painful
3 Bernd Ruecker Co-founder and Developer Advocate of Camunda Berlin,
4
5 Simplified example: dash button Photo by 0xF2, available under Creative Commons BY-ND 2.0 license.
6 Three steps
7 Who is involved? Some bounded contexts Checkout Inventory Shipment
8 (Micro-)services Checkout Inventory Shipment
9 Autonomous (micro-)services Checkout Dedicated Application Processes Dedicated infrastructure Inventory Shipment Dedicated Development Teams
10 Events decrease coupling
11 Example Checkout The button blinks if we can ship within 24 hours Inventory Shipment
12 Request/response: temporal coupling Checkout The button blinks if we can ship within 24 hours Request Response Inventory Shipment
13 Temporal decoupling with events and read models Read Model Checkout The button blinks if we can ship within 24 hours Good Fetched Inventory Good Stored Shipment *Events are facts about what happened (in the past)
14 Events can decrease coupling* *e.g. decentral data-management, read models, extract cross-cutting aspects
15 Peer-to-peer event chains Order placed Checkout received Inventory Goods fetched Shipment Goods shipped
16 Peer-to-peer event chains Order placed Checkout received Inventory Goods fetched Shipment Goods shipped
17 The danger is that it's very easy to make nicely decoupled systems with event notification, without realizing that you're losing sight of that larger-scale flow, and thus set yourself up for trouble in future years.
18 The danger is that it's very easy to make nicely decoupled systems with event notification, without realizing that you're losing sight of that larger-scale flow, and thus set yourself up for trouble in future years.
19 The danger is that it's very easy to make nicely decoupled systems with event notification, without realizing that you're losing sight of that larger-scale flow, and thus set yourself up for trouble in future years.
20 Peer-to-peer event chains Order placed Fetch the goods before the payment Checkout received Inventory Goods fetched Shipment Goods shipped
21 Peer-to-peer event chains Order placed Fetch the goods before the payment Checkout received Inventory Goods fetched Shipment Goods shipped Customers can pay via invoice
22 Peer-to-peer event chains Order placed Fetch the goods before the payment Checkout received Inventory Goods fetched Shipment Goods shipped
23 Peer-to-peer event chains Order placed Fetch the goods before the payment Checkout received Inventory Goods fetched Shipment Goods shipped
24 Photo by born1945, available under Creative Commons BY 2.0 license.
25 Extract the end-to-end responsibility Order placed Checkout Retrieve payment Order received Inventory Shipment *Commands have an intent about what needs to happen in the future
26 Commands help to avoid (complex) peer-to-peer event chains
27 Orchestration needs to be avoided
28 Smart ESB-like middleware Order Checkout Order placed received Inventory Shipment Good fetched Good shipped
29 Dumb pipes Checkout Order Martin Fowler Inventory Shipment Smart endpoints and dumb pipes
30 Danger of god services? Checkout Order Sam Newmann Inventory Shipment A few smart god services tell anemic CRUD services what to do
31 Danger of god services? Checkout Order Sam Newmann Inventory Shipment A few smart god services tell anemic CRUD services what to do
32 A god service is only created by bad API design!
33 Example Order Retrieve
34 Example Order Retrieve Credit Card
35 Example Order Retrieve Credit Card Rejected
36 Example Order Retrieve Rejected Rejected Credit Card If the credit card was rejected, the customer can provide new details Client of dumb endpoints easily become a god services.
37 Who is responsible to deal with problems? Order Retrieve Credit Card Rejected received failed If the credit card was rejected, the customer can provide new details
38 Long-running execution Order Retrieve Credit Card Smart endpoints are potentially long-running Rejected received failed If the credit card was rejected, the customer can provide new details Clients of smart endpoints remains lean.
39 Handling State Persist thing (Entity, Document, Actor, ) State machine or workflow engine Typical concerns DIY = effort, accidental complexity Scheduling, Versioning, operating, visibility, scalability,
40 Workflow engines are painful Complex, proprietary, heavyweight, central, developer adverse,
41 Avoid the wrong tools! Low-code is great! (You can get rid of your developers!) Death by properties panel Complex, proprietary, heavyweight, central, developer adverse,
42 Workflow engines, state machines It is relevant in modern architectures
43 Workflow engines, state machines CADENCE Silicon valley has recognized
44
45 Workflow engines, state machines CADENCE
46 Workflow engines, state machines CADENCE also at scale
47 Zeebe.io
48 public static void main(string[] args) { ProcessEngine engine = new StandaloneInMemProcessEngineConfiguration().buildProcessEngine(); } engine.getrepositoryservice().createdeployment() //.addmodelinstance("flow.bpmn", Bpmn.createExecutableProcess("flow") //.startevent().servicetask("step1").camundaclass(sysoutdelegate.class).servicetask("step2").camundaclass(sysoutdelegate.class) What do I mean by.endevent().done() ).deploy(); leightweight? engine.getruntimeservice().startprocessinstancebykey( "flow", Variables.putValue("city", "New York")); } public class SysoutDelegate implements JavaDelegate { public void execute(delegateexecution execution) throws Exception { System.out.println("Hello " + execution.getvariable("city")); }
49 public static void main(string[] args) { ProcessEngine engine = new StandaloneInMemProcessEngineConfiguration().buildProcessEngine(); engine.getrepositoryservice().createdeployment() //.addmodelinstance("flow.bpmn", Bpmn.createExecutableProcess("flow") //.startevent().servicetask("step1").camundaclass(sysoutdelegate.class).servicetask("step2").camundaclass(sysoutdelegate.class).endevent().done() ).deploy(); Build engine in one line of code (using inmemory H2) engine.getruntimeservice().startprocessinstancebykey( "flow", Variables.putValue("city", "New York")); } public class SysoutDelegate implements JavaDelegate { public void execute(delegateexecution execution) throws Exception { System.out.println("Hello " + execution.getvariable("city")); } }
50 public static void main(string[] args) { ProcessEngine engine = new StandaloneInMemProcessEngineConfiguration().buildProcessEngine(); engine.getrepositoryservice().createdeployment() //.addmodelinstance("flow.bpmn", Bpmn.createExecutableProcess("flow").startEvent().serviceTask("Step1").camundaClass(SysoutDelegate.class).serviceTask("Step2").camundaClass(SysoutDelegate.class).endEvent().done() ).deploy(); Define flow e.g. in Java DSL engine.getruntimeservice().startprocessinstancebykey( "flow", Variables.putValue("city", "New York")); } public class SysoutDelegate implements JavaDelegate { public void execute(delegateexecution execution) throws Exception { System.out.println("Hello " + execution.getvariable("city")); } }
51 public static void main(string[] args) { ProcessEngine engine = new StandaloneInMemProcessEngineConfiguration().buildProcessEngine(); engine.getrepositoryservice().createdeployment() //.addmodelinstance("flow.bpmn", Bpmn.createExecutableProcess("flow").startEvent().serviceTask("Step1").camundaClass(SysoutDelegate.class).serviceTask("Step2").camundaClass(SysoutDelegate.class).endEvent().done() ).deploy(); Define flow e.g. in Java DSL engine.getruntimeservice().startprocessinstancebykey( "flow", Variables.putValue("city", "New York")); } public class SysoutDelegate implements JavaDelegate { public void execute(delegateexecution execution) throws Exception { System.out.println("Hello " + execution.getvariable("city")); } }
52 BPMN Business Process Model and Notation ISO Standard
53 public static void main(string[] args) { ProcessEngine engine = new StandaloneInMemProcessEngineConfiguration().buildProcessEngine(); engine.getrepositoryservice().createdeployment() //.addmodelinstance("flow.bpmn", Bpmn.createExecutableProcess("flow").startEvent().serviceTask("Step1").camundaClass(SysoutDelegate.class).serviceTask("Step2").camundaClass(SysoutDelegate.class).endEvent().done() ).deploy(); We can attach code engine.getruntimeservice().startprocessinstancebykey( "flow", Variables.putValue("city", "New York")); } public class SysoutDelegate implements JavaDelegate { public void execute(delegateexecution execution) throws Exception { System.out.println("Hello " + execution.getvariable("city")); } }
54 public static void main(string[] args) { ProcessEngine engine = new StandaloneInMemProcessEngineConfiguration().buildProcessEngine(); engine.getrepositoryservice().createdeployment() //.addmodelinstance("flow.bpmn", Bpmn.createExecutableProcess("flow").startEvent().serviceTask("Step1").camundaClass(SysoutDelegate.class).serviceTask("Step2").camundaClass(SysoutDelegate.class).endEvent().done() ).deploy(); engine.getruntimeservice().startprocessinstancebykey( "flow", Variables.putValue("city", "New York")); } public class SysoutDelegate implements JavaDelegate { public void execute(delegateexecution execution) throws Exception { System.out.println("Hello " + execution.getvariable("city")); } } that is called when workflow instances pass through
55 public static void main(string[] args) { ProcessEngine engine = new StandaloneInMemProcessEngineConfiguration().buildProcessEngine(); engine.getrepositoryservice().createdeployment() //.addmodelinstance("flow.bpmn", Bpmn.createExecutableProcess("flow").startEvent().serviceTask("Step1").camundaClass(SysoutDelegate.class).serviceTask("Step2").camundaClass(SysoutDelegate.class).endEvent().done() ).deploy(); engine.getruntimeservice().startprocessinstancebykey( "flow", Variables.putValue("city", "New York")); } public class SysoutDelegate implements JavaDelegate { public void execute(delegateexecution execution) throws Exception { System.out.println("Hello " + execution.getvariable("city")); } } Start instances
56 Now you have a state machine!
57 Easy to handle time
58 @martinschimak
59 Synchronous communication Order REST Credit Card
60 Synchronous communication Order REST Credit Card
61 Synchronous communication Order REST Credit Card
62 Synchronous communication Order REST Credit Card Stateful Retry
63 Distributed systems
64 It is impossible to differentiate certain failure scenarios. Client Service Provider Independant of communication style!
65 Distributed systems introduce complexity you have to tackle! REST Credit Card
66 Distributed systems introduce complexity you have to tackle! REST Credit Card
67 Distributed systems
68 Distributed transactions using compensation * Compensation
69 Relaxed consistency Temporarily inconsistent state But eventually consistent No Isolation (as in ACID)
70
71 Use cases for workflow automation Business Distributed Transactions Business processes automation IT Communication in distributed systems Orchestration <= milliseconds seconds minutes, weeks, always short running short running, but potentially long running long running
72 Biz Dev Ops improve communication improve communication
73 Biz Dev Ops improve communication improve communication Leverage state machine & workflow engine Living documentation Visibility in testing
74 Visual HTML reports for test cases
75 Biz Dev Ops improve communication improve communication Understand and discuss business processes Evaluate optimizations in-sync with implementation Leverage state machine & workflow engine Living documentation Visibility in testing
76 Living documentation for long-running behaviour
77 Biz Dev Ops improve communication improve communication Understand and discuss business processes Evaluate optimizations in-sync with implementation Leverage state machine & workflow engine Living documentation Visibility in testing
78 Biz Dev Ops improve communication improve communication Understand and discuss business processes Evaluate optimizations in-sync with implementation Leverage state machine & workflow engine Living documentation Visibility in testing Operate with visibility and context
79 Proper Operations Visibility + Context
80 Before mapping processes explicitly with BPMN, the truth was buried in the code and nobody knew what was going on. Jimmy Floyd, 24 Hour Fitnesse
81 Workflows live inside service boundaries
82 Manigfold architecture options
83 Manigfold architecture options
84 Manigfold architecture options
85 Manigfold architecture options
86 Manigfold architecture options
87 Lightweight workflow engines are great* don t DIY *e.g. enabling potentially long-running services, solving hard developer problems, can run decentralized
88 Sales-Order & Order-Fulfillment via Camunda for every order worldwide (Q2 2017: 22,2 Mio)
89 Code example & live demo Checkout Order Inventory Shipping Monitor Human Tasks H2 H2
90 # Events decrease coupling: sometimes read-models, but no complex peer-to-peer event chains! # Orchestration needs to be avoided: sometimes no ESB, smart endpoints/dumb pipes, important capabilities need a home # Workflow engines are painful: some of them lightweight engines are easy to use and can run decentralized, they solve hard developer problems, don t DIY
91 Thank you!
92 Contact: Slides: Blog: application-development/ 3-common-pitfalls-of-microservicesintegrationand-how-to-avoid-them.html With thoughts
MICROSERVICES ORCHESTRATIONS WITH BPM. Dr. Marigianna Skouradaki
1 MICROSERVICES ORCHESTRATIONS WITH BPM Dr. Marigianna Skouradaki Microservices To BPM or not to BPM? 2 Source: https://goo.gl/yf951d Source: https://goo.gl/b9y6th Source: https://goo.gl/ypbrkz Source:
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 informationACID Is So Yesterday: Maintaining Data Consistency with Sagas
ACID Is So Yesterday: Maintaining Data Consistency with Sagas Chris Richardson Founder of Eventuate.io Founder of the original CloudFoundry.com Author of POJOs in Action chris@chrisrichardson.net http://eventuate.io
More informationNext Paradigm for Decentralized Apps. Table of Contents 1. Introduction 1. Color Spectrum Overview 3. Two-tier Architecture of Color Spectrum 4
Color Spectrum: Next Paradigm for Decentralized Apps Table of Contents Table of Contents 1 Introduction 1 Color Spectrum Overview 3 Two-tier Architecture of Color Spectrum 4 Clouds in Color Spectrum 4
More informationThink Small: API Architecture For The Enterprise
Think Small: API Architecture For The Enterprise Ed Julson - TIBCO Product Marketing Raji Narayanan - TIBCO Product Management October 25, 2017 DISCLAIMER During the course of this presentation, TIBCO
More informationManaging data consistency in a microservice architecture using Sagas
Managing data consistency in a microservice architecture using Sagas Chris Richardson Founder of eventuate.io Author of Microservices Patterns Founder of the original CloudFoundry.com Author of POJOs in
More informationi95dev NAV Connect User Manual
Table of Contents i95dev NAV Connect User Manual www.i95dev.com USA Australia India Copyright 2016 i95dev. All Rights Reserved 1 Table of Contents 1. Introduction... 3 1.1. About this guide... 3 1.2. Terminologies...
More informationi95dev SAP Connect User Manual
Table of Contents i95dev SAP Connect User Manual Version 1.0 www.i95dev.com USA Australia India Copyright 2016 i95dev. All Rights Reserved 1 Table of Contents 1. Introduction... 3 1.1. About this guide...
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 informationBroken Promises.
Broken Promises kiki @ lightbend @kikisworldrace Data is dangerous Microservices are usually required to cooperate to achieve some end goal. Microservices need to be able to trust each other in order to
More informationMicroservices and Container Development
Microservices and Container Development Red Hat Day Montreal May 19th, 2016 Martin Sauvé msauve@redhat.com (514)220-8113 Hoshi Ryokan Japanese Inn Founded 718 A.D. 46 generations of management 1300 years
More informationAN EVENTFUL TOUR FROM ENTERPRISE INTEGRATION TO SERVERLESS. Marius Bogoevici Christian Posta 9 May, 2018
AN EVENTFUL TOUR FROM ENTERPRISE INTEGRATION TO SERVERLESS Marius Bogoevici (@mariusbogoevici) Christian Posta (@christianposta) 9 May, 2018 About Us Marius Bogoevici @mariusbogoevici Chief Architect -
More informationSOA = Same Old Architecture?
SOA = Same Old Architecture? Gregor Hohpe Software Engineer www.eaipatterns.com Could It Be So Easy? WSDL SOAP WS-* Int MyMethod(String text) { } WebMethod Cut Copy Paste Buzzword compliant, but not a
More informationHigh Availability Distributed (Micro-)services. Clemens Vasters Microsoft
High Availability Distributed (Micro-)services Clemens Vasters Microsoft Azure @clemensv ice Microsoft Azure services I work(-ed) on. Notification Hubs Service Bus Event Hubs Event Grid IoT Hub Relay 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 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 informationTHE API DEVELOPER EXPERIENCE ENABLING RAPID INTEGRATION
THE API DEVELOPER EXPERIENCE ENABLING RAPID INTEGRATION Ramchandar Loganathan IBS Solution Architect Banks require application programming interface (API) capabilities to realize the significant benefits
More informationDISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN. Chapter 1. Introduction
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 1 Introduction Modified by: Dr. Ramzi Saifan Definition of a Distributed System (1) A distributed
More informationArchitectural Code Analysis. Using it in building Microservices NYC Cloud Expo 2017 (June 6-8)
Architectural Code Analysis Using it in building Microservices NYC Cloud Expo 2017 (June 6-8) Agenda Intro to Structural Analysis Challenges addressed during traditional software development The new world
More informationUsing sagas to maintain data consistency in a microservice architecture
Using sagas to maintain data consistency in a microservice architecture Chris Richardson Founder of Eventuate.io Founder of the original CloudFoundry.com Author of POJOs in Action chris@chrisrichardson.net
More informationEMF Temporality. Jean-Claude Coté Éric Ladouceur
EMF Temporality Jean-Claude Coté Éric Ladouceur 1 Introduction... 3 1.1 Dimensions of Time... 3 3 Proposed EMF implementation... 4 3.1 Modeled Persistence... 4 3.2 Modeled Temporal API... 5 3.2.1 Temporal
More informationExtending BPEL with transitions that can loop
Extending BPEL with transitions that can loop ActiveVOS linksaretransitions BPEL Extension AN ACTIVE ENDPOINTS PAPER AUTHOR: DR MICHAEL ROWLEY 2009 Active Endpoints Inc. ActiveVOS is a trademark of Active
More informationHow to Evaluate a Next Generation Mobile Platform
How to Evaluate a Next Generation Mobile Platform appcelerator.com Introduction Enterprises know that mobility presents an unprecedented opportunity to transform businesses and build towards competitive
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 informationMicroservices stress-free and without increased heart-attack risk
Microservices stress-free and without increased heart-attack risk Uwe Friedrichsen (codecentric AG) microxchg Berlin, 12. February 2015 @ufried Uwe Friedrichsen uwe.friedrichsen@codecentric.de http://slideshare.net/ufried
More informationmonolith to micro-services? event sourcing can help Doug
monolith to micro-services? event sourcing can help Doug legacy Client Culture Amp (2012-2015) Rails App (Murmur) Read-write Query Server Read-only DB Our journey Our meandering path to CQRS & event sourcing
More informationSolution Overview Vectored Event Grid Architecture for Real-Time Intelligent Event Management
Solution Overview Vectored Event Grid Architecture for Real-Time Intelligent Event Management Copyright Nuvon, Inc. 2007, All Rights Reserved. Introduction The need to improve the quality and accessibility
More informationMicroservices. SWE 432, Fall 2017 Design and Implementation of Software for the Web
Micros SWE 432, Fall 2017 Design and Implementation of Software for the Web Today How is a being a micro different than simply being ful? What are the advantages of a micro backend architecture over a
More informationWeb Services. Lecture I. Valdas Rapševičius. Vilnius University Faculty of Mathematics and Informatics
Web Services Lecture I Valdas Rapševičius Vilnius University Faculty of Mathematics and Informatics 2014.02.28 2014.02.28 Valdas Rapševičius. Java Technologies 1 Outline Introduction to SOA SOA Concepts:
More informationOne size does not fit all
One size does not fit all Stefan Tilkov @stilkov GOTO London 2016 Building blocks lambdas components functions containers VMs services units dynamic libraries objects libraries images classes procedures
More informationADVANCED SOFTWARE DESIGN LECTURE 4 SOFTWARE ARCHITECTURE
ADVANCED SOFTWARE DESIGN LECTURE 4 SOFTWARE ARCHITECTURE Dave Clarke 1 THIS LECTURE At the end of this lecture you will know notations for expressing software architecture the design principles of cohesion
More informationDDD Where s the value and what s in it for me?
DDD Where s the value and what s in it for me? Dino Esposito JetBrains dino.esposito@jetbrains.com @despos facebook.com/naa4e What does a software architect do? Design software driven by the requirements
More informationChapter 10 Object-Oriented Design Principles
Chapter 10 Object-Oriented Design Principles Dr. Supakit Nootyaskool Faculty of Information Technology King Mongkut s Institute of Technology Ladkrabang Outline Object-oriented design: bridging from analysis
More informationBest Practices for Alert Tuning. This white paper will provide best practices for alert tuning to ensure two related outcomes:
This white paper will provide best practices for alert tuning to ensure two related outcomes: 1. Monitoring is in place to catch critical conditions and alert the right people 2. Noise is reduced and people
More informationBreaking Apart the Monolith
Breaking Apart the Monolith with Modularity & Microservices Igor Arouca Liferay, Inc Michael C. Han Liferay, Inc June 26 th, 2017 Room #206 What is a Monolith? Self-contained, single process Difficult
More informationHow to place an order on CSI s online store
How to place an order on CSI s online store Store website http://store.csionline.org/ 1. Click on account, then log in 2. Create an account or LOGIN using your currently registered email and password.
More informationRed Hat JBoss Fuse Service Works Integration Recipes, Best Practices & Cheat Codes
Red Hat JBoss Fuse Service Works Integration Recipes, Best Practices & Cheat Codes Keith Babo SwitchYard Project Lead, Red Hat There is Still Time To Leave We will be talking integration and SOA If your
More informationFlexible EAI-Lösungen mit Glassfish
Flexible EAI-Lösungen mit Glassfish Praxisbeispiele und War Stories zu EAI-Pattern Alexander Heusingfeld, @goldstift Martin Huber, @waterback We take care of it - personally! EAI Pattern in 2013? EAI
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 informationFrequently Asked Questions ORDERING ON MYHERBALIFE.COM INDIA, January 2013
Click on any of the section headers below to jump to the answers for the questions in that section. If you cannot find the answer to your question, please contact Associate Services at 080-40311444, 10
More informationTraining Path FNT ProcessEngine
Training Path FNT ProcessEngine // TRAINING PATH: FNT PROCESSENGINE Training Path: FNT ProcessEngine 2 8 // FNT COMMAND BASIC COURSE FNT Command Basic Course The handling of the CI library (component library,
More informationFeature List. MYOB - Magento Connector. Kensium Solutions
Feature List MYOB - Magento Connector Connector Version: 2.2 Kensium Solutions PHONE 877 KENSIUM (536 7486) FAX 312 242 3029 EMAIL info@kensiumsolutions.com WEBSITE kensiumsolutions.com I NTRO DUC TI O
More informationAWS Lambda: Event-driven Code in the Cloud
AWS Lambda: Event-driven Code in the Cloud Dean Bryen, Solutions Architect AWS Andrew Wheat, Senior Software Engineer - BBC April 15, 2015 London, UK 2015, Amazon Web Services, Inc. or its affiliates.
More informationSystem and Software Architecture Description (SSAD)
System and Software Architecture Description (SSAD) FlowerSeeker Team 05 Name Eder Figueroa Sophia Wu Doris Lam Hiram Garcia Roles Primary Role: Project Manager/ Implementer. Secondary Role: Tester. Primary
More informationKTH Royal Institute of Technology SEMINAR 2-29 March Simone Stefani -
KTH Royal Institute of Technology SEMINAR 2-29 March 2017 Simone Stefani - sstefani@kth.se WHAT IS THIS SEMINAR ABOUT Branching Merging and rebasing Git team workflows Pull requests and forks WHAT IS THIS
More informationFinal Exam CISC 475/675 Fall 2004
True or False [2 pts each]: Final Exam CISC 475/675 Fall 2004 1. (True/False) All software development processes contain at least separate planning, testing, and documentation phases. 2. (True/False) The
More information6/20/2018 CS5386 SOFTWARE DESIGN & ARCHITECTURE LECTURE 5: ARCHITECTURAL VIEWS C&C STYLES. Outline for Today. Architecture views C&C Views
1 CS5386 SOFTWARE DESIGN & ARCHITECTURE LECTURE 5: ARCHITECTURAL VIEWS C&C STYLES Outline for Today 2 Architecture views C&C Views 1 Components and Connectors (C&C) Styles 3 Elements Relations Properties
More informationPRIMARY-BACKUP REPLICATION
PRIMARY-BACKUP REPLICATION Primary Backup George Porter Nov 14, 2018 ATTRIBUTION These slides are released under an Attribution-NonCommercial-ShareAlike 3.0 Unported (CC BY-NC-SA 3.0) Creative Commons
More informationEssential Software Architecture
Essential Software Architecture Session 4: A Guide to Middleware Architectures and Technologies 1 Introduction Middleware is the plumbing or wiring of IT applications Provides applications with fundamental
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 informationDS 2009: middleware. David Evans
DS 2009: middleware David Evans de239@cl.cam.ac.uk What is middleware? distributed applications middleware remote calls, method invocations, messages,... OS comms. interface sockets, IP,... layer between
More informationSchlumberger Supplier Webcast: Ariba Network Transactions for M-I SWACO. September 20, 2017
Schlumberger Supplier Webcast: Ariba Network Transactions for M-I SWACO September 20, 2017 Leaders for Today s Call Nicol Sam North America Procurement and Sourcing Manager Luis Rodriguez Global Business
More informationAmyyon customers can t wait to get their hands on it s new application, developed in Uniface.
customers can t wait to get their hands on it s new application, developed in Uniface. 1 CUSTOMER SECTOR Information Technology COUNTRY Netherlands CHALLENGE Migrate the rich functionality of a client/server
More informationEnterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions
Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions Chapter 1: Solving Integration Problems Using Patterns 2 Introduction The Need for Integration Integration Challenges
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 informationModernize your IT- Landscape
überraschend mehr Möglichkeiten! Modernize your IT- Landscape with API-Driven Architectures Sven Bernhardt, Danilo Schmiedel OPITZ CONSULTING 2017 Agenda 1 2 3 4 API Management Why? Taming the Monolith
More informationSee What's Coming in Oracle CPQ Cloud
See What's Coming in Oracle CPQ Cloud Release 2015 R1 Release Content Document 1 TABLE OF CONTENTS ORACLE CPQ CLOUD... 3 End User Enhancements... 3 Desktop Performance Enhancements... 3 Easy Administration...
More informationFrequently Asked Questions
Click on any of the frequently asked questions below to display the answer. If you cannot find the answer to your question, please contact Member Services on 08 8154 0200, 9.00 am to 5.00 pm Adelaide time,
More informationWhat's New in ActiveVOS 9.0
What's New in ActiveVOS 9.0 2011 Active Endpoints Inc. ActiveVOS is a trademark of Active Endpoints, Inc. All other company and product names are the property of their respective owners. 2011 Content Overview...
More informationPractical Objects: Test Driven Software Development using JUnit
1999 McBreen.Consulting Practical Objects Test Driven Software Development using JUnit Pete McBreen, McBreen.Consulting petemcbreen@acm.org Test Driven Software Development??? The Unified Process is Use
More informationDisclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme
MMC1532BE Using VMware NSX Cloud for Enhanced Networking and Security for AWS Native Workloads Percy Wadia Amol Tipnis VMworld 2017 Content: Not for publication #VMworld #MMC1532BE Disclaimer This presentation
More informationMicroservices. treatment. and Modularity. or the difference between. and cure. Milen milendyankov Moscow
Microservices and Modularity or the difference between treatment and cure Milen Dyankov @ milendyankov 07.04.2017 Moscow ~$ pidof java ~$ pidof java 9927 2151 ~$ ~$ pidof java 9927 2151 ~$ ps aux grep
More informationCOPYRIGHTED MATERIAL. Introducing the Project: The SmartCA Application. The Problem
Introducing the Project: The SmartCA Application The project for this book is based on a real application for a real company. The names of the company and the application have been changed for privacy
More informationNewly-Created, Work-in-Progress (WIP), Approval Cycle, Approved or Copied-from-Previously-Approved, Work-in-Progress (WIP), Approval Cycle, Approved
A New Approach to Enterprise Data Organization A Cuboid Enterprises are generally overwhelmed with data, making the ability to store, process, analyze, interpret, consume, and act upon that data a primary
More informationTHANKS FOR READING. - Marco Behler, Author. Copyright 2015 Marco Behler GmbH. All Rights Reserved.
6 THANKS FOR READING Thanks for reading Customer Requirements - Everything Programmers Need To Know Before Writing Code. If you have any suggestions, feedback (good or bad) then please do not hesitate
More informationWeb Services. Lecture I. Valdas Rapševičius Vilnius University Faculty of Mathematics and Informatics
Web Services Lecture I Valdas Rapševičius Vilnius University Faculty of Mathematics and Informatics 2015.02.19 Outline Introduction to SOA SOA Concepts: Services Loose Coupling Infrastructure SOA Layers
More informationDevOps Anti-Patterns. Have the Ops team deal with it. Time to fire the Ops team! Let s hire a DevOps unit! COPYRIGHT 2019 MANICODE SECURITY
DevOps Anti-Patterns Have the Ops team deal with it. Time to fire the Ops team! Let s hire a DevOps unit! 31 Anti-Pattern: Throw it Over the Wall Development Operations 32 Anti-Pattern: DevOps Team Silo
More informationDocker CaaS. Sandor Klein VP EMEA
Docker CaaS Sandor Klein VP EMEA The Docker mission Build Ship Run Distributed Applica ons Anywhere Docker Driving the Containerization Movement Build, Ship, Run Distributed Applications Anywhere Docker
More informationWeb Applications: A Simple Pluggable Architecture for Business Rich Clients
Web Applications: A Simple Pluggable Architecture for Business Rich Clients Duncan Mac-Vicar and Jaime Navón Computer Science Department, Pontificia Universidad Católica de Chile {duncan,jnavon}@ing.puc.cl
More informationMiddleware Mediated Transactions & Conditional Messaging
Middleware Mediated Transactions & Conditional Messaging Expert Topic Report ECE1770 Spring 2003 Submitted by: Tim Chen John C Wu To: Prof Jacobsen Date: Apr 06, 2003 Electrical and Computer Engineering
More informationScalable Microservice Based Architecture For Enabling DMTF Profiles
Scalable Microservice Based Architecture For Enabling DMTF Profiles Divyanand Malavalli Client Manageability Group AMD India Pvt 102-103 EPIP, Whitefield, Bangalore, KA 560066 India Divyanand.Malavalli@amd.com
More informationThe Modern Developer's Guide To
The Modern Developer's Guide To Contents 1 Microservices and the Salesforce1 Platform 2 Microservice Fundamentals 2.1 Automatic Microservices 2.2 Process-Driven Microservices 2.3 Custom Microservices 2.4
More informationActive Endpoints. ActiveVOS Platform Architecture Active Endpoints
Active Endpoints ActiveVOS Platform Architecture ActiveVOS Unique process automation platforms to develop, integrate, and deploy business process applications quickly User Experience Easy to learn, use
More informationMicroservices. 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 informationCisco UCS Director and ACI Advanced Deployment Lab
Cisco UCS Director and ACI Advanced Deployment Lab Michael Zimmerman, TME Vishal Mehta, TME Agenda Introduction Cisco UCS Director ACI Integration and Key Concepts Cisco UCS Director Application Container
More informationThe future of database technology is in the clouds
Database.com Getting Started Series White Paper The future of database technology is in the clouds WHITE PAPER 0 Contents OVERVIEW... 1 CLOUD COMPUTING ARRIVES... 1 THE FUTURE OF ON-PREMISES DATABASE SYSTEMS:
More informationLAB-03 BPMN Resource Perspective and Events
Lab for the course on Process and Service Modeling and Analysis LAB-03 BPMN Resource Perspective and Events Lecturer: Andrea MARRELLA Objectives of this lecture Recap: Pools, Swimlanes and Message Flows
More informationIntroduction to RESTful Web Services. Presented by Steve Ives
1 Introduction to RESTful Web Services Presented by Steve Ives Introduction to RESTful Web Services What are web services? How are web services implemented? Why are web services used? Categories of web
More informationWhite Paper. Blockchain alternatives: The case for CRAQ
White Paper Blockchain alternatives: The case for CRAQ Blockchain technology continues to gain attention as the foundation of the bitcoin economy. Given the rapid gain in popularity of bitcoin, it s no
More informationBusiness Process Modeling. Version /10/2017
Business Process Modeling Version 1.2.1-16/10/2017 Maurizio Morisio, Marco Torchiano, 2012-2017 3 BP Aspects Process flow Process modeling UML Activity Diagrams BPMN Information Conceptual modeling UML
More informationOracle Fusion Middleware 11g: Build Applications with ADF I
Oracle University Contact Us: Local: 1800 103 4775 Intl: +91 80 4108 4709 Oracle Fusion Middleware 11g: Build Applications with ADF I Duration: 5 Days What you will learn Java EE is a standard, robust,
More informationSeminar report Google App Engine Submitted in partial fulfillment of the requirement for the award of degree Of CSE
A Seminar report On Google App Engine Submitted in partial fulfillment of the requirement for the award of degree Of CSE SUBMITTED TO: SUBMITTED BY: www.studymafia.org www.studymafia.org Acknowledgement
More informationuser.book Page 45 Friday, April 8, :05 AM Part 2 BASIC STRUCTURAL MODELING
user.book Page 45 Friday, April 8, 2005 10:05 AM Part 2 BASIC STRUCTURAL MODELING user.book Page 46 Friday, April 8, 2005 10:05 AM user.book Page 47 Friday, April 8, 2005 10:05 AM Chapter 4 CLASSES In
More informationClean 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 informationTraditional Security Solutions Have Reached Their Limit
Traditional Security Solutions Have Reached Their Limit CHALLENGE #1 They are reactive They force you to deal only with symptoms, rather than root causes. CHALLENGE #2 256 DAYS TO IDENTIFY A BREACH TRADITIONAL
More informationSENG3011 Implementation Workshop. More on REST services
SENG3011 Implementation Workshop More on REST services Outline Programmable Web Resource Oriented Architecture REST (video https://www.youtube.com/watch?v=7ycw25phnaa) ROA Properties Service interactions
More informationTo Mediate is the Message (a brief history of indirection) Glen Daniels Independent Technologist
To Mediate is the Message (a brief history of indirection) Glen Daniels Independent Technologist glen@thoughtcraft.com Your Presenter What You re Going To Learn Today A Brief History of Indirection and
More informationDeath Stars & River Deltas. Toward a Functional Programming Analogy for Microservices
Death Stars & River Deltas Toward a Functional Programming Analogy for Microservices Hi, I m Bobby I m on the Technology Fellows team at I dislike accidental complexity bobby.calderwood@capitalone.com
More informationPocket Salon Guide. salonbiz.com
Pocket Salon Guide Pocket Salon is a tool for your guests to carry your salon in their pocket! The app allows them to view, confirm, and manage their visits anytime, anywhere however they want. Logging
More informationMODERN APPLICATION ARCHITECTURE DEMO. Wanja Pernath EMEA Partner Enablement Manager, Middleware & OpenShift
MODERN APPLICATION ARCHITECTURE DEMO Wanja Pernath EMEA Partner Enablement Manager, Middleware & OpenShift COOLSTORE APPLICATION COOLSTORE APPLICATION Online shop for selling products Web-based polyglot
More informationWelcome to Docker Birthday # Docker Birthday events (list available at Docker.Party) RSVPs 600 mentors Big thanks to our global partners:
Docker Birthday #3 Welcome to Docker Birthday #3 2 120 Docker Birthday events (list available at Docker.Party) 7000+ RSVPs 600 mentors Big thanks to our global partners: Travel Planet 24 e-food.gr The
More informationStream and Batch Processing in the Cloud with Data Microservices. Marius Bogoevici and Mark Fisher, Pivotal
Stream and Batch Processing in the Cloud with Data Microservices Marius Bogoevici and Mark Fisher, Pivotal Stream and Batch Processing in the Cloud with Data Microservices Use Cases Predictive maintenance
More informationArchitectural patterns and models for implementing CSPA
Architectural patterns and models for implementing CSPA Marco Silipo THE CONTRACTOR IS ACTING UNDER A FRAMEWORK CONTRACT CONCLUDED WITH THE COMMISSION Application architecture Outline SOA concepts and
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 informationTHE FUTURE OF PERSONALIZATION IS VISUAL WHITE PAPER
WHITE PAPER The Future of Personalization is Visual 1 It s hard to believe that ecommerce has been around for more than two decades, and juggernaut sites like Amazon and ebay were first launched in the
More informationAgenda. Introduction Power Of Visuals Introduction to Visio
Agenda Introduction Power Of Visuals Introduction to Visio Using PBI and Visio for Monitoring Integrated Monitoring with Visio and Power BI aka Unified Dashboard How to create Unified Dashboards end-to-end
More informationStorefront Ordering System Demonstration Guide. Powered by
Storefront Ordering System Demonstration Guide Powered by Welcome to CMYK s Storefront Ordering System (SOS) The following pages will guide you through our Demo Site. We will show you many options available
More informationLecture Notes course Software Development of Web Services
Lecture Notes course 02267 Software Development of Web Services Hubert Baumeister huba@dtu.dk Fall 2014 Contents 1 Business Processes 1 2 BPEL 7 3 BPEL and NetBeans 10 4 A BPEL Process as a Web service
More informationContainerized Microservices architecture M.V.L.N.Venugopal
www.ijecs.in International Journal Of Engineering And Computer Science ISSN:2319-7242 Volume 6 Issue 11 November 2017, Page No. 23199-23208 Index Copernicus value (2015): 58.10 DOI: 10.18535/ijecs/v6i11.20
More informationOne of the important aspects of microservices is that microservices is an architecture pattern, not a technology. Technology acts as an enabler to
1 One of the important aspects of microservices is that microservices is an architecture pattern, not a technology. Technology acts as an enabler to effectively deliver microservices, but if the design
More information