SlideShare una empresa de Scribd logo
1 de 18
SAPIT Small And Powerful Integration Toolkit CNUG, 2011-10-04 Mikkel Toudal Kristiansen, Avanade Denmark
Agenda Kort om mig Baggrund for SAPIT Integrationsproblemer Løsninger Aspect Oriented Programming (AOP) Overblik over SAPIT Hvordan bruges SAPIT? Med og uden SAPIT Demo
Kort om mig 36 år Har læst matematik og datalogi på KU Udvikler og konsulent siden 1996 Web (CGI/Java-applets -> ASP -> ASP.NET) Navision, Sitecore, ... Agile, Scrum, Kanban, TFS, ALM, ... -> Processer! Siden nytår .NET Arkitekt hos Avanade Global Microsoft partner 13.500+ ansatte i 28 lande
Baggrund - Integrationsproblemer
Baggrund - Integrationsproblemer Eksterne ressourcer kræver ekstra opmærksomhed Manglende diskpladseller netværkskapacitet, databaserettigheder, web services der er nede, etc.
Baggrund – Løsninger Michael Nygaard, Release IT! Systematisk tilgang til håndtering af eksterne afhængigheder Forvent at der opstår fejl Patterns: Retry Timeout Caching Circuit Breaker Throttle ...
Baggrund - AOP Aspect Oriented Programming (AOP) Håndtering af tværgående funktionalitet Typisk benyttet til logging, sikkerhed og caching I .NET benyttes som regel attributter i kombination med et AOP framework (Spring.NET, Unity, StructureMap, ...)
Overblik over SAPIT SAPIT – Small And Powerful Integration Toolkit AOP-baseret implementation af patterns: Retry Cache Timeout Circuit Breaker Response-time Throttle Kræver method interception via: Unity, Windsor eller PostSharp
SAPIT – Et plugin i dit projekt Reference til SAPIT og til IoC-specifik SAPIT assembly Eksisterende afhængighed til IoC Framework
Hvordan bruges SAPIT? Tilføj reference til Sapit.dll og Sapit.<noget>.dll Benyt din allerede konfigurerede IoC container Tilføj ”noget” til IoC konfigurationen Tilføj SAPIT attributter til de metoder der har brug for støtte SAPIT sørger for resten!
Hvordan bruges SAPIT.Unity? Tilføj reference til Sapit.dll og Sapit.Unity.dll Konfigurer Interception Dekorer interfacemetoder med Sapit.Unity-attributter Unity sørger for at intercept’e metodekald og benytte Sapit’s ICallHandler’e
Hvordan bruges SAPIT.Windsor? Tilføj reference til Sapit.dll og Sapit.Windsor.dll Konfigurer Interception Dekorer interfacemetoder med Sapit.Windsor attributter Windsor sørger for at benytte SAPIT’s IInterceptor’er
Hvordan bruges SAPIT.PostSharp? Tilføj reference til Sapit.dll og Sapit.PostSharp.dll Dekorer klasse metoder med Sapit.PostSharp attributter PostSharp sørger for at inject’e IL-kode på kompileringstidspunktet, som kalder metoder i Sapit.PostSharp attribut klasserne
Med og uden SAPIT: Retry Uden SAPIT: Med SAPIT:
Med og uden SAPIT: Timeout Uden SAPIT: Med SAPIT:
DEMO!
Begrænsninger for SAPIT IoC Framework understøttet/krævet? Unity, Windsor eller PostSharp StructureMap Flere SAPIT attributter pr. metode? Forvent problemer ... Men læs dokumentationen for dit IoC Framework Threadsafe? Ikke endnu
Spørgsmål? ?

Más contenido relacionado

Destacado

Linkers for compositions
Linkers for compositionsLinkers for compositions
Linkers for compositionsanateacher
 
SPORTS PSYCHOLOGY IN SPORTS MEDICINE
SPORTS PSYCHOLOGY IN SPORTS MEDICINESPORTS PSYCHOLOGY IN SPORTS MEDICINE
SPORTS PSYCHOLOGY IN SPORTS MEDICINESharon Chirban
 
Dhatki bible genesis 1
Dhatki bible   genesis 1Dhatki bible   genesis 1
Dhatki bible genesis 1AsiaBibles
 
Ana Laura, Juliana e Katherine
Ana Laura, Juliana e KatherineAna Laura, Juliana e Katherine
Ana Laura, Juliana e Katherinefabenhah
 
Tics clase 12
Tics clase 12Tics clase 12
Tics clase 12lujanisla
 
La battagliadelleideespromanocleaned
La battagliadelleideespromanocleanedLa battagliadelleideespromanocleaned
La battagliadelleideespromanocleanedspromano
 
Kamaroninfo núm. 8 novembre 1996
Kamaroninfo núm. 8 novembre 1996Kamaroninfo núm. 8 novembre 1996
Kamaroninfo núm. 8 novembre 1996Josep Miquel
 
Poesiarcabanillas
PoesiarcabanillasPoesiarcabanillas
Poesiarcabanillassaraibi
 
Nueva droga alerta-6135
Nueva droga alerta-6135Nueva droga alerta-6135
Nueva droga alerta-6135Edgar Briceño
 
60 sec slam final
60 sec slam final60 sec slam final
60 sec slam finaljhoag3
 
Trabajo practico n° 4 sy c
Trabajo practico n° 4 sy cTrabajo practico n° 4 sy c
Trabajo practico n° 4 sy csirioarabia
 
Práctica n° 06
Práctica n° 06Práctica n° 06
Práctica n° 06alixita18
 
A dimensão das escola no contexto internacional...
A dimensão das escola no contexto internacional...A dimensão das escola no contexto internacional...
A dimensão das escola no contexto internacional...Maria André
 

Destacado (20)

Disordered athletes
Disordered athletesDisordered athletes
Disordered athletes
 
Linkers for compositions
Linkers for compositionsLinkers for compositions
Linkers for compositions
 
SPORTS PSYCHOLOGY IN SPORTS MEDICINE
SPORTS PSYCHOLOGY IN SPORTS MEDICINESPORTS PSYCHOLOGY IN SPORTS MEDICINE
SPORTS PSYCHOLOGY IN SPORTS MEDICINE
 
CL108
CL108CL108
CL108
 
Dhatki bible genesis 1
Dhatki bible   genesis 1Dhatki bible   genesis 1
Dhatki bible genesis 1
 
Presentation3
Presentation3Presentation3
Presentation3
 
Ana Laura, Juliana e Katherine
Ana Laura, Juliana e KatherineAna Laura, Juliana e Katherine
Ana Laura, Juliana e Katherine
 
Tics clase 12
Tics clase 12Tics clase 12
Tics clase 12
 
La battagliadelleideespromanocleaned
La battagliadelleideespromanocleanedLa battagliadelleideespromanocleaned
La battagliadelleideespromanocleaned
 
Prueba1
Prueba1Prueba1
Prueba1
 
Kamaroninfo núm. 8 novembre 1996
Kamaroninfo núm. 8 novembre 1996Kamaroninfo núm. 8 novembre 1996
Kamaroninfo núm. 8 novembre 1996
 
Poesiarcabanillas
PoesiarcabanillasPoesiarcabanillas
Poesiarcabanillas
 
Nueva droga alerta-6135
Nueva droga alerta-6135Nueva droga alerta-6135
Nueva droga alerta-6135
 
60 sec slam final
60 sec slam final60 sec slam final
60 sec slam final
 
Trabajo practico n° 4 sy c
Trabajo practico n° 4 sy cTrabajo practico n° 4 sy c
Trabajo practico n° 4 sy c
 
Schumann
SchumannSchumann
Schumann
 
Práctica n° 06
Práctica n° 06Práctica n° 06
Práctica n° 06
 
El humanismo
El humanismoEl humanismo
El humanismo
 
A dimensão das escola no contexto internacional...
A dimensão das escola no contexto internacional...A dimensão das escola no contexto internacional...
A dimensão das escola no contexto internacional...
 
Mémoire d'activités AFMT 2011-2012
Mémoire d'activités AFMT 2011-2012Mémoire d'activités AFMT 2011-2012
Mémoire d'activités AFMT 2011-2012
 

Similar a SAPIT - CNUG talk 04/10-2011

ITU 04.03.08
ITU 04.03.08ITU 04.03.08
ITU 04.03.08Luckow
 
DIT EA NOV 2014 Falck
DIT EA NOV 2014 FalckDIT EA NOV 2014 Falck
DIT EA NOV 2014 Falckbjoernam
 
IT Branchen & Dansk Erhverv: Disruption, Design & Digital Prototyping
IT Branchen & Dansk Erhverv: Disruption, Design & Digital PrototypingIT Branchen & Dansk Erhverv: Disruption, Design & Digital Prototyping
IT Branchen & Dansk Erhverv: Disruption, Design & Digital PrototypingPlant
 
Forretning og IT SKAL hænge sammen
Forretning og IT SKAL hænge sammenForretning og IT SKAL hænge sammen
Forretning og IT SKAL hænge sammenIBM Danmark
 
20160301 Red Hat JBoss Fuse i praksis i Syddjurs Kommune
20160301 Red Hat JBoss Fuse i praksis i Syddjurs Kommune20160301 Red Hat JBoss Fuse i praksis i Syddjurs Kommune
20160301 Red Hat JBoss Fuse i praksis i Syddjurs KommuneJon Badstue Pedersen
 
Datafordeler-præsentation - Kortdage 2015
Datafordeler-præsentation - Kortdage 2015Datafordeler-præsentation - Kortdage 2015
Datafordeler-præsentation - Kortdage 2015Lasse Lunding
 
Datafordeler - Oplæg på Kortdage 2015
Datafordeler - Oplæg på Kortdage 2015Datafordeler - Oplæg på Kortdage 2015
Datafordeler - Oplæg på Kortdage 2015Mads Bjørn-Møldrup
 
Case Sharepoint Intranet Hos Pressalt Microsoft Seminar Januar 2009
Case Sharepoint Intranet Hos Pressalt   Microsoft Seminar Januar 2009Case Sharepoint Intranet Hos Pressalt   Microsoft Seminar Januar 2009
Case Sharepoint Intranet Hos Pressalt Microsoft Seminar Januar 2009guest7bdfc5
 
Workareas and competences
Workareas and competencesWorkareas and competences
Workareas and competencesOle Ahrenfeldt
 
Lad data styre din forretning
Lad data styre din forretningLad data styre din forretning
Lad data styre din forretningMicrosoft
 
En fantastisk applikationsserver (Intravision IBM Connect 2013 Update i Århus)
En fantastisk applikationsserver (Intravision IBM Connect 2013 Update i Århus)En fantastisk applikationsserver (Intravision IBM Connect 2013 Update i Århus)
En fantastisk applikationsserver (Intravision IBM Connect 2013 Update i Århus)Per Henrik Lausten
 
20060610 ARIS implemetering præsentation
20060610 ARIS implemetering præsentation20060610 ARIS implemetering præsentation
20060610 ARIS implemetering præsentationKim Holm
 
God performance = God priotering
God performance = God prioteringGod performance = God priotering
God performance = God prioteringDigicure ApS
 
Digicure seminar | Web performance optimering
Digicure seminar | Web performance optimeringDigicure seminar | Web performance optimering
Digicure seminar | Web performance optimeringTobias Borg Petersen
 
Digicure seminar | Mobil web performance optimering
Digicure seminar | Mobil web performance optimeringDigicure seminar | Mobil web performance optimering
Digicure seminar | Mobil web performance optimeringTobias Borg Petersen
 
Inspirationsdag 24. april: Sådan kommer du i gang med IBM Connections 4.5
Inspirationsdag 24. april: Sådan kommer du i gang med IBM Connections 4.5Inspirationsdag 24. april: Sådan kommer du i gang med IBM Connections 4.5
Inspirationsdag 24. april: Sådan kommer du i gang med IBM Connections 4.5Notesnet_dk
 
Lakeside arkitekturnetværk - Et kig på pace layered strategies (2015Q4)
Lakeside arkitekturnetværk - Et kig på pace layered strategies (2015Q4)Lakeside arkitekturnetværk - Et kig på pace layered strategies (2015Q4)
Lakeside arkitekturnetværk - Et kig på pace layered strategies (2015Q4)Lakeside A/S
 
Proces for udvikle et nyt website
Proces for udvikle et nyt websiteProces for udvikle et nyt website
Proces for udvikle et nyt websitePeytz & Co
 
Pentia Webinar: Digital arkitektur
Pentia Webinar: Digital arkitekturPentia Webinar: Digital arkitektur
Pentia Webinar: Digital arkitekturPentia
 

Similar a SAPIT - CNUG talk 04/10-2011 (20)

ITU 04.03.08
ITU 04.03.08ITU 04.03.08
ITU 04.03.08
 
DIT EA NOV 2014 Falck
DIT EA NOV 2014 FalckDIT EA NOV 2014 Falck
DIT EA NOV 2014 Falck
 
IT Branchen & Dansk Erhverv: Disruption, Design & Digital Prototyping
IT Branchen & Dansk Erhverv: Disruption, Design & Digital PrototypingIT Branchen & Dansk Erhverv: Disruption, Design & Digital Prototyping
IT Branchen & Dansk Erhverv: Disruption, Design & Digital Prototyping
 
Forretning og IT SKAL hænge sammen
Forretning og IT SKAL hænge sammenForretning og IT SKAL hænge sammen
Forretning og IT SKAL hænge sammen
 
20160301 Red Hat JBoss Fuse i praksis i Syddjurs Kommune
20160301 Red Hat JBoss Fuse i praksis i Syddjurs Kommune20160301 Red Hat JBoss Fuse i praksis i Syddjurs Kommune
20160301 Red Hat JBoss Fuse i praksis i Syddjurs Kommune
 
Datafordeler-præsentation - Kortdage 2015
Datafordeler-præsentation - Kortdage 2015Datafordeler-præsentation - Kortdage 2015
Datafordeler-præsentation - Kortdage 2015
 
Datafordeler - Oplæg på Kortdage 2015
Datafordeler - Oplæg på Kortdage 2015Datafordeler - Oplæg på Kortdage 2015
Datafordeler - Oplæg på Kortdage 2015
 
Case Sharepoint Intranet Hos Pressalt Microsoft Seminar Januar 2009
Case Sharepoint Intranet Hos Pressalt   Microsoft Seminar Januar 2009Case Sharepoint Intranet Hos Pressalt   Microsoft Seminar Januar 2009
Case Sharepoint Intranet Hos Pressalt Microsoft Seminar Januar 2009
 
14slide
14slide14slide
14slide
 
Workareas and competences
Workareas and competencesWorkareas and competences
Workareas and competences
 
Lad data styre din forretning
Lad data styre din forretningLad data styre din forretning
Lad data styre din forretning
 
En fantastisk applikationsserver (Intravision IBM Connect 2013 Update i Århus)
En fantastisk applikationsserver (Intravision IBM Connect 2013 Update i Århus)En fantastisk applikationsserver (Intravision IBM Connect 2013 Update i Århus)
En fantastisk applikationsserver (Intravision IBM Connect 2013 Update i Århus)
 
20060610 ARIS implemetering præsentation
20060610 ARIS implemetering præsentation20060610 ARIS implemetering præsentation
20060610 ARIS implemetering præsentation
 
God performance = God priotering
God performance = God prioteringGod performance = God priotering
God performance = God priotering
 
Digicure seminar | Web performance optimering
Digicure seminar | Web performance optimeringDigicure seminar | Web performance optimering
Digicure seminar | Web performance optimering
 
Digicure seminar | Mobil web performance optimering
Digicure seminar | Mobil web performance optimeringDigicure seminar | Mobil web performance optimering
Digicure seminar | Mobil web performance optimering
 
Inspirationsdag 24. april: Sådan kommer du i gang med IBM Connections 4.5
Inspirationsdag 24. april: Sådan kommer du i gang med IBM Connections 4.5Inspirationsdag 24. april: Sådan kommer du i gang med IBM Connections 4.5
Inspirationsdag 24. april: Sådan kommer du i gang med IBM Connections 4.5
 
Lakeside arkitekturnetværk - Et kig på pace layered strategies (2015Q4)
Lakeside arkitekturnetværk - Et kig på pace layered strategies (2015Q4)Lakeside arkitekturnetværk - Et kig på pace layered strategies (2015Q4)
Lakeside arkitekturnetværk - Et kig på pace layered strategies (2015Q4)
 
Proces for udvikle et nyt website
Proces for udvikle et nyt websiteProces for udvikle et nyt website
Proces for udvikle et nyt website
 
Pentia Webinar: Digital arkitektur
Pentia Webinar: Digital arkitekturPentia Webinar: Digital arkitektur
Pentia Webinar: Digital arkitektur
 

SAPIT - CNUG talk 04/10-2011

  • 1. SAPIT Small And Powerful Integration Toolkit CNUG, 2011-10-04 Mikkel Toudal Kristiansen, Avanade Denmark
  • 2. Agenda Kort om mig Baggrund for SAPIT Integrationsproblemer Løsninger Aspect Oriented Programming (AOP) Overblik over SAPIT Hvordan bruges SAPIT? Med og uden SAPIT Demo
  • 3. Kort om mig 36 år Har læst matematik og datalogi på KU Udvikler og konsulent siden 1996 Web (CGI/Java-applets -> ASP -> ASP.NET) Navision, Sitecore, ... Agile, Scrum, Kanban, TFS, ALM, ... -> Processer! Siden nytår .NET Arkitekt hos Avanade Global Microsoft partner 13.500+ ansatte i 28 lande
  • 5. Baggrund - Integrationsproblemer Eksterne ressourcer kræver ekstra opmærksomhed Manglende diskpladseller netværkskapacitet, databaserettigheder, web services der er nede, etc.
  • 6. Baggrund – Løsninger Michael Nygaard, Release IT! Systematisk tilgang til håndtering af eksterne afhængigheder Forvent at der opstår fejl Patterns: Retry Timeout Caching Circuit Breaker Throttle ...
  • 7. Baggrund - AOP Aspect Oriented Programming (AOP) Håndtering af tværgående funktionalitet Typisk benyttet til logging, sikkerhed og caching I .NET benyttes som regel attributter i kombination med et AOP framework (Spring.NET, Unity, StructureMap, ...)
  • 8. Overblik over SAPIT SAPIT – Small And Powerful Integration Toolkit AOP-baseret implementation af patterns: Retry Cache Timeout Circuit Breaker Response-time Throttle Kræver method interception via: Unity, Windsor eller PostSharp
  • 9. SAPIT – Et plugin i dit projekt Reference til SAPIT og til IoC-specifik SAPIT assembly Eksisterende afhængighed til IoC Framework
  • 10. Hvordan bruges SAPIT? Tilføj reference til Sapit.dll og Sapit.<noget>.dll Benyt din allerede konfigurerede IoC container Tilføj ”noget” til IoC konfigurationen Tilføj SAPIT attributter til de metoder der har brug for støtte SAPIT sørger for resten!
  • 11. Hvordan bruges SAPIT.Unity? Tilføj reference til Sapit.dll og Sapit.Unity.dll Konfigurer Interception Dekorer interfacemetoder med Sapit.Unity-attributter Unity sørger for at intercept’e metodekald og benytte Sapit’s ICallHandler’e
  • 12. Hvordan bruges SAPIT.Windsor? Tilføj reference til Sapit.dll og Sapit.Windsor.dll Konfigurer Interception Dekorer interfacemetoder med Sapit.Windsor attributter Windsor sørger for at benytte SAPIT’s IInterceptor’er
  • 13. Hvordan bruges SAPIT.PostSharp? Tilføj reference til Sapit.dll og Sapit.PostSharp.dll Dekorer klasse metoder med Sapit.PostSharp attributter PostSharp sørger for at inject’e IL-kode på kompileringstidspunktet, som kalder metoder i Sapit.PostSharp attribut klasserne
  • 14. Med og uden SAPIT: Retry Uden SAPIT: Med SAPIT:
  • 15. Med og uden SAPIT: Timeout Uden SAPIT: Med SAPIT:
  • 16. DEMO!
  • 17. Begrænsninger for SAPIT IoC Framework understøttet/krævet? Unity, Windsor eller PostSharp StructureMap Flere SAPIT attributter pr. metode? Forvent problemer ... Men læs dokumentationen for dit IoC Framework Threadsafe? Ikke endnu