SlideShare una empresa de Scribd logo
1 de 16
livinglabs.regione.puglia.it
SUE AGILE
Framework
Framework
Behavior and test-driven development (QUnit): tests are
part of the delivered application
Entirely designed with WPF and RIA Services experience
in the mind
First-class Microsoft TypeScript support!
Total Entity Framework Experience on client-side, too
Single Page Application HTML5 template with Durandal,
Knockout, Angular etc.
fast and powerful user interface implementation,
styling, MVVM testing and many other goodies …
Framework
Client-side data entities generated through T4 templates directly from full
Entity Framework models
EF, client side TypeScript full-class support: inheritance, abstraction,
complex types
Client-side Object Change Tracking!!!
Object identity and entity graph serialization from and to Web-API layers,
thanks to custom .NET <-> Typescript serializer
Client JS/TS side full support for one-to-many, many-to-one, many-to-
many relations
Client-side offline scenarios with full data persistence, and change
support
Partial classes support, via serialization surrogates
Metodology Framework
Requisite and behavior driven formalization
Actually simple word document
TODO: tightly integration between word based analysis document and
visual studio solution can be achieved
Analysis integration (CR) will be tracked down to work item and real
implementation
Behaviors became test driven requirements
Actually Test driven development with Qunit
Analyzer formalizes in word document al test requirements
TODO: add-ins will automatically integrate with real source code
Rigorous behavior / test driven development enforcement
TODO: new advanced behavior driven development frameworks are
under research
Metodology Framework
Test & behavior driven development
• 1) behaviors definition
– Role: analyst
• 2) test implementation
– Role: developer
• 3) MVVM implementation
– Role: developer
• 3) total behaviors and requisites test coverage over MVVM
– Role: developer
• 4) HTML / View implementation
– Role: developer +| UX designer
• 5) UAT
– Customer / stake holder
Framework
Data Layer
• First class Repository pattern and Unit of Work implementation
– Contracts for repository pattern automatically generated
– Resolution and wire-up of concrete implementations through Unity dependenc
– Different data strategies can be mixed together for achieving best performance
• Nhibernate support will be added (’15)
• Entity Framework 7.x ASAP
• DDD model first approach
– Full EDMX: server and client side entity generation
– Code First support (‘15):
• Manually coded entities: server and client side entity generation. Maybe for client only co
(interfaces) will be generated for AngularJS support
– Domain specific languages (or meta languages) are under investigation
– Full Change Tracking support
Framework
Security
• Policies for resource / action based security enforcement:
– Generic resource / action policy:
– URL access policy (url, method)
–
<policy resource="richiestaIntegrazione" action="Gestisci">
  <or>
    
<claim claimType="http://schemas.microsoft.com/ws/2008/06/identity/claims/role" claimValue="OperatoreSUE" />
    <claim claimType="http://schemas.microsoft.com/ws/2008/06/identity/claims/role" claimValue="Ente" />
    <claim claimType="http://schemas.microsoft.com/ws/2008/06/identity/claims/role" claimValue="ComuneSUE" />
  </or>
</policy> 
<policy resource="/api/sue/*" action="GET">
  <and>
    <claim claimType="http://schemas.codearchitects.com/cah5shell/authenticated" claimValue="true" />
  </and>
</policy> 
Framework
Client side security
– Commands (command / action):
  <policy resource="command://GipoNext/Assignations" action="execute">
     <or>
 
      <claim claimType="http://schemas.xmlsoap.org/claims/Group" claimValue="Assignat
ionManager" />
 
      <claim claimType="http://schemas.xmlsoap.org/cah5shell/Group" claimValue="Assig
nationManager" />
     </or>
   </policy> 
Framework
Service layer
• Legacy WCF service layer
– WS-* protocols
– Self hosted, IIS Application Server
• Web Api Service layer
– REST, JSON, SAML based security
– JSON graphs fully supported, even for javascript clients
• Uniform data transfer
– DDD entities and value types serialized and transported from and to
javascript clients
– Code Architects first class entity serializer for JSON .Net <-> javascript
typed entities
• Much more performant than native json stringify & parse methods
• Serializes deep graphs also from javascript
• Remapping of namespace/modules and typed entities for partial class emulation
through inheritance
Framework
Service layer
• Native Web Components support
• Implementation
– Object oriented implementation
– Manifest based setup and integration
<div class="testPageContent">
   <shell-label params="value: 'Current date:', htmlClass:'pull-left'"></shell-label>
   <shell-dateinput params="value: currentDate, htmlClass:'pull-left'"></shell-dateinput>
   <br />
   <shell-buttonicon params="text:'Prev', $onClick: function()
{ $root.gotoPrevPage() }, htmlClass:'pull-left'"></shell-buttonicon>
   <shell-buttonicon params="text:'Today', $onClick: function()
{ $root.gotoTodayPage() }, htmlClass:'pull-left'"></shell-buttonicon> 
Framework
UI layer
• Full browser and device specific HTML5
support
• Real time Multi-lingual support
• Every user interface “use case” is simply a
template!
– thanks to UI component “indirection”, you can
switch with same code and views to different
device by just changing the template library
Framework
UX layer
• Rigorous template implementation pattern
• Domain and security validation integrated with MVVM -> VIEW
binding through powerful policies
• User interface has own object model, just like XAML
– Serialization and deserialization of user interface fragments made
possible thanks by a powerful Code Architects custom TypeScript
Javascript reflection and serializer implementation, part of the
foundation classes
• In browser - runtime user interface designer reads and writes JAML
(JSON Application Markup Language)
• Validation and other features supported through repository
techniques or aggregated dynamic viewmodels
Framework
Validation
• DDD entities and value types
– Repository driven
• XML / JSON documents
– Schema driven through annotations
• MVVM imperative statements
– Regular entities:
– XML/JSON documents:
• Multi lingual support
public Lastname: KnockoutObservable<string> = ko.observable('Rossi').extend({ r
equired: { message: 'Cognome obbl.' } }); 
self.bindTo({ path: 'Extensions/Documento/Richiedente/DatiAnagrafici/CF', namespace: '', type: 'string' }
) 
.extend({required: { message: 'C.O.' }, pattern: { params: this.Patterns.FiscalCode, message: 'Fornire un
 codice fiscale valido'}});
Framework
Application Lifecycle mangament
• Analysis
• Behavior and test driven development
• Versioning
– NUGET Packaging
• Methodology
– Development of new application
• SCRUM (over 1 year experience in CA on many different teams and
projects)
– Integration with legacy application
• KANBAN
SUE AGILE
Facebook - SUE AGILE
Linkedin – SUE AGILE
www.sue-agile.codearchitects.com
http://sueagile.cloudapp.net/
Ing. Sabino Labarile
Code Architects s.r.l.
Via Jazzitiello 15 C/D Santeramo in Colle (Bari)
www.codearchitects.com

Más contenido relacionado

La actualidad más candente

Component based architecture
Component based architectureComponent based architecture
Component based architecture
Zaiyang Li
 
Wintellect - Devscovery - Enterprise JavaScript Development 2 of 2
Wintellect - Devscovery - Enterprise JavaScript Development 2 of 2Wintellect - Devscovery - Enterprise JavaScript Development 2 of 2
Wintellect - Devscovery - Enterprise JavaScript Development 2 of 2
Jeremy Likness
 
Introducing Pebble SDK 2.0
Introducing Pebble SDK 2.0Introducing Pebble SDK 2.0
Introducing Pebble SDK 2.0
Cherie Williams
 
Mounika .net dev
Mounika .net devMounika .net dev
Mounika .net dev
SAI MOUNIKA
 

La actualidad más candente (20)

Mortal Kombat! ASP.NET MVC vs ASP.NET Webforms – ASP.NET MVC is amazing
Mortal Kombat! ASP.NET MVC vs ASP.NET Webforms – ASP.NET MVC is amazingMortal Kombat! ASP.NET MVC vs ASP.NET Webforms – ASP.NET MVC is amazing
Mortal Kombat! ASP.NET MVC vs ASP.NET Webforms – ASP.NET MVC is amazing
 
Software architectural design patterns(MVC, MVP, MVVM, VIPER) for iOS
Software architectural design patterns(MVC, MVP, MVVM, VIPER) for iOSSoftware architectural design patterns(MVC, MVP, MVVM, VIPER) for iOS
Software architectural design patterns(MVC, MVP, MVVM, VIPER) for iOS
 
A Smooth Transition to HTML5 Using MVVM
A Smooth Transition to HTML5 Using MVVMA Smooth Transition to HTML5 Using MVVM
A Smooth Transition to HTML5 Using MVVM
 
MVVM - Model View ViewModel
MVVM - Model View ViewModelMVVM - Model View ViewModel
MVVM - Model View ViewModel
 
Writing HTML5 Web Apps using Backbone.js and GAE
Writing HTML5 Web Apps using Backbone.js and GAEWriting HTML5 Web Apps using Backbone.js and GAE
Writing HTML5 Web Apps using Backbone.js and GAE
 
Mvc framework
Mvc frameworkMvc framework
Mvc framework
 
Component based architecture
Component based architectureComponent based architecture
Component based architecture
 
XAML/C# to HTML5/JS
XAML/C#  to HTML5/JS XAML/C#  to HTML5/JS
XAML/C# to HTML5/JS
 
Modelibra Software Family
Modelibra Software FamilyModelibra Software Family
Modelibra Software Family
 
Wintellect - Devscovery - Enterprise JavaScript Development 2 of 2
Wintellect - Devscovery - Enterprise JavaScript Development 2 of 2Wintellect - Devscovery - Enterprise JavaScript Development 2 of 2
Wintellect - Devscovery - Enterprise JavaScript Development 2 of 2
 
MSDN - ASP.NET MVC
MSDN - ASP.NET MVCMSDN - ASP.NET MVC
MSDN - ASP.NET MVC
 
Asp.net mvc
Asp.net mvcAsp.net mvc
Asp.net mvc
 
Mvc summary
Mvc summaryMvc summary
Mvc summary
 
Training: MVVM Pattern
Training: MVVM PatternTraining: MVVM Pattern
Training: MVVM Pattern
 
Berlin.JAR: Web future without web frameworks
Berlin.JAR: Web future without web frameworksBerlin.JAR: Web future without web frameworks
Berlin.JAR: Web future without web frameworks
 
Real-Time Web Applications with ASP.NET WebAPI and SignalR
Real-Time Web Applications with ASP.NET WebAPI and SignalRReal-Time Web Applications with ASP.NET WebAPI and SignalR
Real-Time Web Applications with ASP.NET WebAPI and SignalR
 
From MVC to Component Based Architecture
From MVC to Component Based ArchitectureFrom MVC to Component Based Architecture
From MVC to Component Based Architecture
 
Angular js anupama
Angular js anupamaAngular js anupama
Angular js anupama
 
Introducing Pebble SDK 2.0
Introducing Pebble SDK 2.0Introducing Pebble SDK 2.0
Introducing Pebble SDK 2.0
 
Mounika .net dev
Mounika .net devMounika .net dev
Mounika .net dev
 

Destacado

La Verdad De La Soja
La Verdad De La SojaLa Verdad De La Soja
La Verdad De La Soja
noeliagrecco
 

Destacado (20)

Presentación1
Presentación1Presentación1
Presentación1
 
Biografía keysla zañartu laveriano
Biografía keysla zañartu laverianoBiografía keysla zañartu laveriano
Biografía keysla zañartu laveriano
 
La Verdad De La Soja
La Verdad De La SojaLa Verdad De La Soja
La Verdad De La Soja
 
Document
DocumentDocument
Document
 
28 palavras-3
28 palavras-328 palavras-3
28 palavras-3
 
Mapa conceptual
Mapa conceptualMapa conceptual
Mapa conceptual
 
Hada
HadaHada
Hada
 
Edwis
EdwisEdwis
Edwis
 
SUE AGILE MVVM (English)
SUE AGILE MVVM (English)SUE AGILE MVVM (English)
SUE AGILE MVVM (English)
 
Especialización en gerencia del talento humano
Especialización en gerencia del talento humanoEspecialización en gerencia del talento humano
Especialización en gerencia del talento humano
 
Deimer
DeimerDeimer
Deimer
 
Evolucion
EvolucionEvolucion
Evolucion
 
Ofimatica web
Ofimatica webOfimatica web
Ofimatica web
 
Condiçoesexames nee
Condiçoesexames neeCondiçoesexames nee
Condiçoesexames nee
 
SUE AGILE Architecture (English)
SUE AGILE Architecture (English)SUE AGILE Architecture (English)
SUE AGILE Architecture (English)
 
Carros
CarrosCarros
Carros
 
PRONUNCIAMIENTO DEL CÌRCULO DE PERIODISTAS DEPORTIVOS DEL PERÙ
PRONUNCIAMIENTO DEL CÌRCULO DE PERIODISTAS DEPORTIVOS DEL PERÙPRONUNCIAMIENTO DEL CÌRCULO DE PERIODISTAS DEPORTIVOS DEL PERÙ
PRONUNCIAMIENTO DEL CÌRCULO DE PERIODISTAS DEPORTIVOS DEL PERÙ
 
Atención Primaria / Medicina Interna Hospitalaria: ¿Condenados a entenderse?
Atención Primaria /Medicina Interna Hospitalaria: ¿Condenados a entenderse?Atención Primaria /Medicina Interna Hospitalaria: ¿Condenados a entenderse?
Atención Primaria / Medicina Interna Hospitalaria: ¿Condenados a entenderse?
 
Zotero Checklist
Zotero ChecklistZotero Checklist
Zotero Checklist
 
SUE AGILE MVVM (Italian)
SUE AGILE MVVM (Italian)SUE AGILE MVVM (Italian)
SUE AGILE MVVM (Italian)
 

Similar a SUE AGILE Framework (English)

D22 Portlet Development With Open Source Frameworks
D22 Portlet Development With Open Source FrameworksD22 Portlet Development With Open Source Frameworks
D22 Portlet Development With Open Source Frameworks
Sunil Patil
 
D22 portlet development with open source frameworks
D22 portlet development with open source frameworksD22 portlet development with open source frameworks
D22 portlet development with open source frameworks
Sunil Patil
 
Rp 6 session 2 naresh bhatia
Rp 6  session 2 naresh bhatiaRp 6  session 2 naresh bhatia
Rp 6 session 2 naresh bhatia
sapientindia
 
RAHUL_Updated( (2)
RAHUL_Updated( (2)RAHUL_Updated( (2)
RAHUL_Updated( (2)
Rahul Singh
 
Divya ASP Developer
Divya ASP Developer Divya ASP Developer
Divya ASP Developer
divya k
 
Narasimha reddy Telluri
Narasimha reddy TelluriNarasimha reddy Telluri
Narasimha reddy Telluri
NarasimhaReddy Telluri
 

Similar a SUE AGILE Framework (English) (20)

D22 Portlet Development With Open Source Frameworks
D22 Portlet Development With Open Source FrameworksD22 Portlet Development With Open Source Frameworks
D22 Portlet Development With Open Source Frameworks
 
D22 portlet development with open source frameworks
D22 portlet development with open source frameworksD22 portlet development with open source frameworks
D22 portlet development with open source frameworks
 
Rp 6 session 2 naresh bhatia
Rp 6  session 2 naresh bhatiaRp 6  session 2 naresh bhatia
Rp 6 session 2 naresh bhatia
 
Building SPA’s (Single Page App) with Backbone.js
Building SPA’s (Single Page App) with Backbone.jsBuilding SPA’s (Single Page App) with Backbone.js
Building SPA’s (Single Page App) with Backbone.js
 
RAHUL_Updated( (2)
RAHUL_Updated( (2)RAHUL_Updated( (2)
RAHUL_Updated( (2)
 
Profile_Ahmad2
Profile_Ahmad2Profile_Ahmad2
Profile_Ahmad2
 
Trinada pabolu profile
Trinada pabolu profileTrinada pabolu profile
Trinada pabolu profile
 
Divya ASP Developer
Divya ASP Developer Divya ASP Developer
Divya ASP Developer
 
Angular jS Introduction by Google
Angular jS Introduction by GoogleAngular jS Introduction by Google
Angular jS Introduction by Google
 
Advanced Web Development
Advanced Web DevelopmentAdvanced Web Development
Advanced Web Development
 
James Turner (Caplin) - Enterprise HTML5 Patterns
James Turner (Caplin) - Enterprise HTML5 PatternsJames Turner (Caplin) - Enterprise HTML5 Patterns
James Turner (Caplin) - Enterprise HTML5 Patterns
 
An Introduction to Web Components
An Introduction to Web ComponentsAn Introduction to Web Components
An Introduction to Web Components
 
Session on Selenium Powertools by Unmesh Gundecha
Session on Selenium Powertools by Unmesh GundechaSession on Selenium Powertools by Unmesh Gundecha
Session on Selenium Powertools by Unmesh Gundecha
 
Amar_Modalavalasa_Resume
Amar_Modalavalasa_ResumeAmar_Modalavalasa_Resume
Amar_Modalavalasa_Resume
 
Vikram_Singh_TeamLead
Vikram_Singh_TeamLeadVikram_Singh_TeamLead
Vikram_Singh_TeamLead
 
SeniorNET Bhanu Resume
SeniorNET Bhanu ResumeSeniorNET Bhanu Resume
SeniorNET Bhanu Resume
 
Kumar_Resume - LinkedIn
Kumar_Resume - LinkedInKumar_Resume - LinkedIn
Kumar_Resume - LinkedIn
 
Prashant Patel
Prashant PatelPrashant Patel
Prashant Patel
 
Building intranet applications with ASP.NET AJAX and jQuery
Building intranet applications with ASP.NET AJAX and jQueryBuilding intranet applications with ASP.NET AJAX and jQuery
Building intranet applications with ASP.NET AJAX and jQuery
 
Narasimha reddy Telluri
Narasimha reddy TelluriNarasimha reddy Telluri
Narasimha reddy Telluri
 

Más de Sabino Labarile

e-Suap Inista 2014 (International Symposium on INnovation in Intelligent SysT...
e-Suap Inista 2014 (International Symposium on INnovation in Intelligent SysT...e-Suap Inista 2014 (International Symposium on INnovation in Intelligent SysT...
e-Suap Inista 2014 (International Symposium on INnovation in Intelligent SysT...
Sabino Labarile
 

Más de Sabino Labarile (20)

SUE AGILE - Presentazione della piattaforma
SUE AGILE - Presentazione della piattaforma SUE AGILE - Presentazione della piattaforma
SUE AGILE - Presentazione della piattaforma
 
Manuale utente SUE AGILE
Manuale utente SUE AGILEManuale utente SUE AGILE
Manuale utente SUE AGILE
 
SUE AGILE Framework (Italiano)
SUE AGILE Framework (Italiano)SUE AGILE Framework (Italiano)
SUE AGILE Framework (Italiano)
 
SUE AGILE Architettura (Italiano)
SUE AGILE Architettura (Italiano)SUE AGILE Architettura (Italiano)
SUE AGILE Architettura (Italiano)
 
SUE AGILE - GUIDA ALL'UTILIZZO DELLA PIATTAFORMA
SUE AGILE - GUIDA ALL'UTILIZZO DELLA PIATTAFORMASUE AGILE - GUIDA ALL'UTILIZZO DELLA PIATTAFORMA
SUE AGILE - GUIDA ALL'UTILIZZO DELLA PIATTAFORMA
 
e-suap - client technologies- english version
e-suap - client technologies- english versione-suap - client technologies- english version
e-suap - client technologies- english version
 
e-suap cloud computing- English version
e-suap cloud computing- English versione-suap cloud computing- English version
e-suap cloud computing- English version
 
e-SUAP - Ochestration building block (italian)
e-SUAP - Ochestration building block (italian)e-SUAP - Ochestration building block (italian)
e-SUAP - Ochestration building block (italian)
 
e-SUAP - Ochestration building block (english)
e-SUAP - Ochestration building block (english)e-SUAP - Ochestration building block (english)
e-SUAP - Ochestration building block (english)
 
e-SUAP - Security - Windows azure access control list (english version)
e-SUAP - Security - Windows azure access control list (english version)e-SUAP - Security - Windows azure access control list (english version)
e-SUAP - Security - Windows azure access control list (english version)
 
e-SUAP - Security - Windows azure access control list (italian version)
e-SUAP - Security - Windows azure access control list (italian version)e-SUAP - Security - Windows azure access control list (italian version)
e-SUAP - Security - Windows azure access control list (italian version)
 
e-SUAP - General software architecture (Italiano)
e-SUAP - General software architecture (Italiano)e-SUAP - General software architecture (Italiano)
e-SUAP - General software architecture (Italiano)
 
E suap - tecnologie client
E suap - tecnologie client E suap - tecnologie client
E suap - tecnologie client
 
e-SUAP - Data access server side (English)
e-SUAP - Data access server side (English)e-SUAP - Data access server side (English)
e-SUAP - Data access server side (English)
 
e-suap - general software architecture (English)
e-suap - general software architecture (English)e-suap - general software architecture (English)
e-suap - general software architecture (English)
 
e-SUAP - General software architecture (English)
e-SUAP - General software architecture  (English)e-SUAP - General software architecture  (English)
e-SUAP - General software architecture (English)
 
E suap - cloud computing (Italian)
E suap - cloud computing (Italian)E suap - cloud computing (Italian)
E suap - cloud computing (Italian)
 
e-Suap Inista 2014 (International Symposium on INnovation in Intelligent SysT...
e-Suap Inista 2014 (International Symposium on INnovation in Intelligent SysT...e-Suap Inista 2014 (International Symposium on INnovation in Intelligent SysT...
e-Suap Inista 2014 (International Symposium on INnovation in Intelligent SysT...
 
e-SUAP - Pubblicazione scientifica per evento Inista 2014 (International Symp...
e-SUAP - Pubblicazione scientifica per evento Inista 2014 (International Symp...e-SUAP - Pubblicazione scientifica per evento Inista 2014 (International Symp...
e-SUAP - Pubblicazione scientifica per evento Inista 2014 (International Symp...
 
Presentazione e-SUAP Forum PA - Roma - Palazzo dei congressi - 29 Maggio 2014
Presentazione e-SUAP Forum PA - Roma - Palazzo dei congressi - 29 Maggio 2014Presentazione e-SUAP Forum PA - Roma - Palazzo dei congressi - 29 Maggio 2014
Presentazione e-SUAP Forum PA - Roma - Palazzo dei congressi - 29 Maggio 2014
 

Último

%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 

Último (20)

%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 

SUE AGILE Framework (English)

  • 2. Framework Behavior and test-driven development (QUnit): tests are part of the delivered application Entirely designed with WPF and RIA Services experience in the mind First-class Microsoft TypeScript support! Total Entity Framework Experience on client-side, too Single Page Application HTML5 template with Durandal, Knockout, Angular etc. fast and powerful user interface implementation, styling, MVVM testing and many other goodies …
  • 3. Framework Client-side data entities generated through T4 templates directly from full Entity Framework models EF, client side TypeScript full-class support: inheritance, abstraction, complex types Client-side Object Change Tracking!!! Object identity and entity graph serialization from and to Web-API layers, thanks to custom .NET <-> Typescript serializer Client JS/TS side full support for one-to-many, many-to-one, many-to- many relations Client-side offline scenarios with full data persistence, and change support Partial classes support, via serialization surrogates
  • 4. Metodology Framework Requisite and behavior driven formalization Actually simple word document TODO: tightly integration between word based analysis document and visual studio solution can be achieved Analysis integration (CR) will be tracked down to work item and real implementation Behaviors became test driven requirements Actually Test driven development with Qunit Analyzer formalizes in word document al test requirements TODO: add-ins will automatically integrate with real source code Rigorous behavior / test driven development enforcement TODO: new advanced behavior driven development frameworks are under research
  • 5. Metodology Framework Test & behavior driven development • 1) behaviors definition – Role: analyst • 2) test implementation – Role: developer • 3) MVVM implementation – Role: developer • 3) total behaviors and requisites test coverage over MVVM – Role: developer • 4) HTML / View implementation – Role: developer +| UX designer • 5) UAT – Customer / stake holder
  • 6. Framework Data Layer • First class Repository pattern and Unit of Work implementation – Contracts for repository pattern automatically generated – Resolution and wire-up of concrete implementations through Unity dependenc – Different data strategies can be mixed together for achieving best performance • Nhibernate support will be added (’15) • Entity Framework 7.x ASAP • DDD model first approach – Full EDMX: server and client side entity generation – Code First support (‘15): • Manually coded entities: server and client side entity generation. Maybe for client only co (interfaces) will be generated for AngularJS support – Domain specific languages (or meta languages) are under investigation – Full Change Tracking support
  • 7. Framework Security • Policies for resource / action based security enforcement: – Generic resource / action policy: – URL access policy (url, method) – <policy resource="richiestaIntegrazione" action="Gestisci">   <or>      <claim claimType="http://schemas.microsoft.com/ws/2008/06/identity/claims/role" claimValue="OperatoreSUE" />     <claim claimType="http://schemas.microsoft.com/ws/2008/06/identity/claims/role" claimValue="Ente" />     <claim claimType="http://schemas.microsoft.com/ws/2008/06/identity/claims/role" claimValue="ComuneSUE" />   </or> </policy>  <policy resource="/api/sue/*" action="GET">   <and>     <claim claimType="http://schemas.codearchitects.com/cah5shell/authenticated" claimValue="true" />   </and> </policy> 
  • 8. Framework Client side security – Commands (command / action):   <policy resource="command://GipoNext/Assignations" action="execute">      <or>         <claim claimType="http://schemas.xmlsoap.org/claims/Group" claimValue="Assignat ionManager" />         <claim claimType="http://schemas.xmlsoap.org/cah5shell/Group" claimValue="Assig nationManager" />      </or>    </policy> 
  • 9. Framework Service layer • Legacy WCF service layer – WS-* protocols – Self hosted, IIS Application Server • Web Api Service layer – REST, JSON, SAML based security – JSON graphs fully supported, even for javascript clients • Uniform data transfer – DDD entities and value types serialized and transported from and to javascript clients – Code Architects first class entity serializer for JSON .Net <-> javascript typed entities • Much more performant than native json stringify & parse methods • Serializes deep graphs also from javascript • Remapping of namespace/modules and typed entities for partial class emulation through inheritance
  • 10. Framework Service layer • Native Web Components support • Implementation – Object oriented implementation – Manifest based setup and integration <div class="testPageContent">    <shell-label params="value: 'Current date:', htmlClass:'pull-left'"></shell-label>    <shell-dateinput params="value: currentDate, htmlClass:'pull-left'"></shell-dateinput>    <br />    <shell-buttonicon params="text:'Prev', $onClick: function() { $root.gotoPrevPage() }, htmlClass:'pull-left'"></shell-buttonicon>    <shell-buttonicon params="text:'Today', $onClick: function() { $root.gotoTodayPage() }, htmlClass:'pull-left'"></shell-buttonicon> 
  • 11. Framework UI layer • Full browser and device specific HTML5 support • Real time Multi-lingual support • Every user interface “use case” is simply a template! – thanks to UI component “indirection”, you can switch with same code and views to different device by just changing the template library
  • 12. Framework UX layer • Rigorous template implementation pattern • Domain and security validation integrated with MVVM -> VIEW binding through powerful policies • User interface has own object model, just like XAML – Serialization and deserialization of user interface fragments made possible thanks by a powerful Code Architects custom TypeScript Javascript reflection and serializer implementation, part of the foundation classes • In browser - runtime user interface designer reads and writes JAML (JSON Application Markup Language) • Validation and other features supported through repository techniques or aggregated dynamic viewmodels
  • 13. Framework Validation • DDD entities and value types – Repository driven • XML / JSON documents – Schema driven through annotations • MVVM imperative statements – Regular entities: – XML/JSON documents: • Multi lingual support public Lastname: KnockoutObservable<string> = ko.observable('Rossi').extend({ r equired: { message: 'Cognome obbl.' } });  self.bindTo({ path: 'Extensions/Documento/Richiedente/DatiAnagrafici/CF', namespace: '', type: 'string' } )  .extend({required: { message: 'C.O.' }, pattern: { params: this.Patterns.FiscalCode, message: 'Fornire un  codice fiscale valido'}});
  • 14. Framework Application Lifecycle mangament • Analysis • Behavior and test driven development • Versioning – NUGET Packaging • Methodology – Development of new application • SCRUM (over 1 year experience in CA on many different teams and projects) – Integration with legacy application • KANBAN
  • 15. SUE AGILE Facebook - SUE AGILE Linkedin – SUE AGILE www.sue-agile.codearchitects.com http://sueagile.cloudapp.net/
  • 16. Ing. Sabino Labarile Code Architects s.r.l. Via Jazzitiello 15 C/D Santeramo in Colle (Bari) www.codearchitects.com