Arkitektur. Den Röda Tråden

Relevanta dokument
När? Varför? För vem? Resultat? (Artefakter?)

Design. Vad lärde jag mig förra lekfonen? Hur bidrog jag Fll lärandet? Kravhantering sammanfa0ning 13/04/14

Hur hanterar vi risk? Vad är TKO? Skillnad på agil och trad? Agil/Lean: Defer Commitment, Build knowledge, Fail fast

Webbteknik II. Föreläsning 4. Watching the river flow. John Häggerud, 2011

Testdriven utveckling av Web Services. Ole Matzura

Middleware vad, hur, varför när?

Kärnfunktionalitet. Middleware. Samverkande system. Service Oriented Architecture. Kommunikationsmekanismer. Tjänsteorienterade arkitekturer

SAS Intelligence Architecture. Patrick Eckemo IT Arkitekt / PM Arkitektur SAS Institute

Webbteknik II. Föreläsning 5. Restless farewell. John Häggerud, 2011

Inför projektuppgiften. Markus Buschle,

Designmönster - EMW. Kent Petersson epost1: kentp@cs.chalmers.se epost2: kent.petersson@emw.ericsson.se URL:

Arrowhead - Process- och energisystem- automation

SAS USER FORUM SWEDEN 2017 USER FORUM. SAS Viya och öppenhet en gemomgång av LUA-, Java-, Python- och REST-gränssnitten mot SAS Viya

Testdriven utveckling. Magnus Jonsson Siemens Medical Solutions

Webbtjänster med API er

JavaScript in SharePoint and not just for Apps. Wictor Wilén

Webbtjänster med API er

Facit Tentamen 17/3 Informationsinfrastruktur

Nya möjligheter med M3 Technology. Björn Svensson, Björn Torold

Web Services. Cognitude 1

Öppna APIer - för att få allt det där gjort du annars inte hinner

Den Röda Tråden. Vi kan ta fram arkitekturkrav. Vi kan ta fram arkitektur och design. Vi kan skriva Clean Code KRAV DESIGN IMPLEMENT VISION TEST

Programutvecklingsprojekt Projektgrupp Elvin. Detailed Design Document

Swedbank Mobile Loadtesting. LoadRunner Mobile App protocol

Webbtjänster med API er

TDDD80. Mobila och sociala applikationer Introduktion HTTP,SaaS. Anders Fröberg Institutionen för Datavetenskap (IDA)

Arkitektur Michael Åhs

Services + REST och OAuth

Från Data till Process

Klient/server. Översikt. Lektion 1: Webbtekniker från Microsoft. Webbteknik från Microsoft. Klient/server. Designmönster. Utrullning.

Copyright 2003, SAS Institute Inc. All rights reserved.

Säker informationshantering

Agil programutveckling

Användarcentrerad systemdesign

Distribuerade affärssystem

Model View Controller. Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016

Kvalitetssäkra ditt projekt med kontinuerlig integration

Tillgång till alla globala delar i systemet styrs av denna profil, som i sin tur kopplas till respektive användare.

Unified Communication. Martin Lidholm

Webbtjänster med API er

Affärssystem. Affärssystem - 1. Affärssystem. Informationssystem (IS) Tobias Nyström

SOA One Year Later and With a Business Perspective. BEA Education VNUG 2006

Välkommen! SA S PSA S Im I puls s Mobilite t t e 8 1

GADD Software en introduktion

SAS VIYA JOHAN ELFMAN ROLAND BALI

Presentation. Fredrik Runnsjö 1996 Utvecklare 2004 Testare ~2006 Scrum/Canban

Daniel Akenine, Teknikchef, Microsoft Sverige

Införande av en integrationsplattform med Apache Service Mix på LTU

PAINTFEUD. Erfarenheter

Elisabet Stöök Konsult SAS Institute AB Copyright 2003, SAS Institute Inc. All rights reserved.

SOA. Länkar +ll sidor om SOA h3p:// h3p://dsv.su.se/soa/

BIM konceptuell överblick och utblick

Implementationsstrategier för PLCS

INTERSTAGE V4. Application Server. Integration Server. Portal Server. Network Access Server 1 INTERSTAGE V4. INTERSTAGE Application Server

KravinsamlingAnalys Design Implementation Testning

Systemarkitektur F7. Agenda. Arbetssituation. Arbetssituation. Arbetssystem. Arbetssystem. Hårdvaruarkitekturer Nätverkstopologier Databehandling

Mjukvarudesign. Designprocessen. Teknisk design. Konceptuell design

Amazon Cloud Computing Joakim Lindbom CTO, Capgemini Sverige. Who am I? Jobbat inom Capgemini sedan 1985

Erik Wahlström Product Strategist 28/01/15

Observer Pattern och MVC. Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2017

Webbtjänster med API er

Datavetenskap. Beteendevetenskap MDI. Design

DEVOPS SOM FUNDAMENT I ETT VERKSAMHETSNÄRA EKOSYSTEM

MVC med Javascript och Ajax. Filip Ekberg

SERVERLESS ARCHITECTURE. är det nya svarta. CADEC 2017 Peter Larsson

XP-projekt: En fördjupning

WEBBSERVERPROGRAMMERING

Alla rättigheter till materialet reserverade Easec

När geografisk information blir allas egendom

Observer Pattern och MVC. Objekt-orienterad programmering och design (DIT953) Niklas Broberg, 2018

Tomas Borg, konsult, SAS Institute Elin Rydell, konsult, SAS Institute Copyright 2003, SAS Institute Inc. All rights reserved.

Testdriven utveckling. Teorin bakom testdriven utveckling. Bakgrund. Januari 2009, KTH. Alexander Tarnowski

1ME323 Webbteknik 3 Lektion 6 API. Rune Körnefors. Medieteknik Rune Körnefors

DI Studio nyheter

Observer Pattern och MVC. Objekt-orienterad programmering och design Alex Gerdes, 2016

icore Solutions. All Rights Reserved.

Arkitektur för mashup av flera REST API:er

Människa-Datorinteraktion

Laboration 2 RESTful webb-api

Lars Wiktorin, IT plan

DB, DATA, LOGIC, EXPOSURE (WEB)

En digital förändringsresa Jan Longnell, CIO

En verktygslåda för tjänsteorientering

Sammanfattning och Tentamensinfo Objekt-orienterad programmering och design (DIT953) Niklas Broberg, 2018

Freddie Rinderud Senior advisor

Main headline. Affärsvärde till Perstorp AB Headline. mha appar SAPSA IMPULS

Datasäkerhet och integritet

Arkitektur för Bistånd

Systemutvecklare SU14, Malmö

F7 Agila metoder. EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson, Ulf Asklund Datavetenskap, LTH

Vad karaktäriserar ett bra användargränssnitt? Riktlinjer för gränssnittsdesign. Vad påverkar utformningen av ett gränssnitt? 1.

Objekt-orienterad programmering och design. DIT953 Niklas Broberg, 2018

Datakommunika,on på Internet

12 principer of agile practice (rörlig)

Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer.

IT för personligt arbete F2

TDP023 Projekt: Agil systemutveckling

openbim Stockholm 22 april 2013 Kraven på BIM är här

WELCOME TO. Value of IAM in Business Integrations

Mönster. Ulf Cederling Växjö University Slide 1

Transkript:

Arkitektur Done Den Röda Tråden Vad är arkitektur? Vad har vi arkitekturmodellen till? Hur redovisar vi en arkitektur? Hur tar vi fram en arkitektur? Uppgift arkitekturella krav Nu Redovisning/Diskussion arkitekturella krav Den Röda Tråden Hur tar vi fram en arkitektur? Fortsättning Begreppsmodell Architectural Patterns Skillnad på agil och trad? Trad: Mycket up front - kontrollera det okända genom att gissa Agil/Lean: Defer Commitment, Build knowledge, Fail fast - Slösa inte tid på att gissa Den Röda Tråden KRAV Vi kan välja utvecklingsmodell Vi kan hantera risk och vet varför Vi kan skriva och estimera krav User stories, -ilities, regler KRAV Vi kan ta fram arkitekturkrav TEST KOD KOD TEST KOD DEPLOYABLE DESIGN VISION behövs IMPLEMENT TEST DRIFTSÄTT KRAV TEST KOD KRAV TEST KOD KOD KOD DEPLOYABLE SYSTEM Finns Arkitektur med här? Risk, Built the thing right, Teams Can we build it, Will it work, will it scale. http://blog.crisp.se/2012/10/25/henrikkniberg/agile-product-ownership-in-a-nutshell

Arkitektur var? Arkitektur var? http://www.extremeprogramming.org/map/project.html Test-first upphov till TDD (Kent Beck)

http://www.iasa.se/wp-content/uploads/2012/05/iasa-arkitektroller-2012.pdf Arkitektroller IASA > Finns olika typer av arkitektur: IT-arkitektur Enterprise architecture Verksamhetsarkitektur Lösningsarkitektur Mjukvaruarkitektur Infrastrukturarkitektur Hur organiserar de sig? Hur samordnar de, når alignment? BRP vs Squads, Tribes, chapter, guild Har filmen något med arkitektur att göra? Loosely coupled tighly aligned squads > Conways law > Hur ser arkitekturen ut? Tjänster/Komponenter > Team Vad har vi arkitekturmodellen till? Kommunicera utåt Metafor Något att visa för stakeholders powerpoint-arkitektur. Kommunicera inåt Vilka delar ska vi ha? SRP, Coupling och Cohesion Vad ska varje del ansvara för? Logisk Vy Hur sitter delarna ihop? Beroenden? Context Map, Logisk Vy Vem bygger vad? Context Map Hur ska komponenterna kommunicera med varandra? API, In-process, tcpip, http, binärt, xml, json, buss, meddelandekö, publish-subscribe? Middleware; application server, webserver, messaging, publishsubscribe Behövs transaktioner, 2PC?

Hur tar vi fram en arkitektur? Utgå från vetenskapligt sätt 1. Sätt upp hypotes - kandidatarkitektur! 2. Testa hypotesen utifrån arkitekturellt signifikanta user stories och -ilities-scenarion. Hur vet vi vilka som är arkitekturellt signifikanta? De som påverkar arkitekturen mest 3. Sätt upp ny hypotes, minst 3 kandidatarkitekturer! ni kommer tillsammans ta fram >3 Riskhantering: Vad behöver vi veta mera om? Arkitekturellt signifikanta vs evolutionary design Brainstorma och testkör! En enkel process Context Map: Bokföring, Betalning, Produkter, Order Exempel E-handel

-ilities / Icke-funktionella krav Maintainability Usability Performance Security Scalability Availability/Reliability Portability Varje ility ska ha ett testbart case! Tex Vad händer om vi vill kunna skala från 1000 till 1000000 användare? Vi vill börja med en relationsdatabas, men vill eventuellt kunna byta till NoSQL, osv Begreppsmodell Varför? > Tydlighet, undvika missförstånd, effektiv kommunikation Begreppsmodell vilka kärnbegrepp finns, hur förhåller de sig till varandra. Varför begreppsmodell? Ökad produktivitet! Effektivare kommunikation Tydlighet, undvika missförstånd Minskad kognitiv last Hjälper oss förstå domänen

Bord för fyra Bord för fyra Exempel E-handel

Arkitekturmönster vs Architectural Style General structure; e.g., shared repository, layers, pipes and filters Distributed systems; e.g., client-server, REST Interactive systems; e.g., Model-View- Controller (MVC), MVVM Integration: SOA/ESB Data Achitecture: Data Warehouse Infrastructure: Load Balancer SOA Service Oriented Architecture - Modellera system som tjänster - Varje tjänst är en autonom implementation av funktionalitet - Messaging eller RPC - Interface baserat på standardiserade protokoll som SOAP, WSDL, UDDI - Tänkt att stödja runtime-beslut om vilken endpoint som ska användas - Service Lookup. REST Representational State Transfer Modellera system som resources Varje resurs används med HTTP-verben GET, POST, PUT, DELETE, etc Tänkt att använda befintlig HTTP-teknik för skalning Ej standardiserat interface Payload oftast XML eller JSON.

Exempel E-handel Front-End > BackEnd: REST BackEnd > Bokföring: SOAP Vad har vi arkitekturmodellen till? Kommunicera utåt Metafor Något att visa för stakeholders powerpoint-arkitektur. Kommunicera inåt Vilka delar ska vi ha? SRP, Coupling och Cohesion Vad ska varje del ansvara för? Logisk Vy Hur sitter delarna ihop? Beroenden? Context Map, Logisk Vy Vem bygger vad? Context Map Hur ska komponenterna kommunicera med varandra? API, In-process, tcpip, http, binärt, xml, json, buss, meddelandekö, publish-subscribe? Middleware; application server, webserver, messaging, publishsubscribe Behövs transaktioner, 2PC? http://workshops.opengeo.org/stack-intro/introduction.html#introduction

Ok? Feedback! Uppgift till imorgon Ta fram 3 kandidatarkitekturer Ta fram en enkel begreppsmodell

Till nästa vecka Kolla in filmen, 10:45 The Software Craftsmanship Imperative: https://www.youtube.com/watch?v=fdelciml7e4