SlideShare a Scribd company logo
livinglabs.regione.puglia.it
Living Lab
e-SUAP
Code Architects srl
Microsoft Visual Studio Integration Partner
Microsoft Silver Partner
Giuseppe Dimauro
CTO Code Architects srl – Microsoft MSDN Regional Director
gdimauro@codearchitects.com
e-SUAP@CAH5Shell
introducing CAH5Shell Line Of Business Application Platform
•Alberta Utilities Commission
•Communications Research Centre Canada
•Department of Environment and Conservation
•Department of Workforce Development-State of
Wisconsin
•DIA (Divisione Investigativa Antimafia)
•Elections BC
•ENEL
•Environment Canada
•Equitalia Nomos
•ICE IT –Istituto nazionale per il Commercio Estero
•INAS/CISL
•Ministero dell’ Ambiente
•Ministero dell’ Interno
•Nursing and Midwifery Council
•Provincia di Milano
•Provincia di Padova
•Regione Emilia-Romagna
•SOGIQUE –Ministere de la Sante et des Services
Sociaux du Quebec
•ACE Group
•Banca di Roma
•Banca Popolare di Bari
•Banco di Napoli
•BUPA
some customers …
Agenda:
•e-SUAP: project goal
•Main objectives
•Architecture
The project goal is to satisfy the needs of the office of the local Sportello
Unico delle Attività Produttive (SUAP) thanks to an integrated platform of
digital management for both the back office user and the user
citizen/company/free lance who has the need. The need has been asked by
the SUAP of the murgian area (Murgia Sviluppo S.C.A.R.L.), a government
agency responsible for the territorial pact for 18 cities of the murgia area; the
need is to create an integrated platform of digital online management of the
SUAP, in compliance with the current legislation, including the D.P.R. n.160
Of 7 September 2010; from one side it has to satisfy the need of SUAP to
give a complete online service which is both efficient and transparent for the
citizen, and on the other side it satisfies the needs of the citizen himself or
company or free lance to have a direct access to an online system to use
the services of SUAP, being able to do in self-service mode all the
administrative procedures, having full control of the evolution of the
procedures.
Project goal
PARTNER:
Main objectives
•Browser based technology
• Cross-browser, cross device
•High availability, high scalability
•Business Activity Monitoring
•State of the art security
•Rapid application development
Main Objectives
• Designed with the cloud in the mind
– Highly scalable thanks to rich client implementation and SPA approach
– Low bandwidth consumption for server round-trips:
• Once Javascript and views are downloaded and cached, only data (with and
without changetracking info) will go over the “wire”;
• Rich full-domain and data-centric API approach, similar to
Microsoft .Net smart clients and server applications;
• RAD development with deep integration with Visual Studio 2013
and Microsoft Typescript
– Silverlight RIA Services style HTML5 implementation: low bandwidth
usage, highly maintainable code base, etc;
• Client side development “experience” very similar to WPF and
Silverlight implementation, based on MVVM pattern. Rich
experience for TDD (Test Driven Devlopment) !!!
• Write once, deploy on many browsers/devices through rigorous and
methodical template mediation techniques;
Browser based
technology
•Typescript == Typed Javascript
•HTML5
•Single Page Application
•Durandal: navigation
•Knockout: binding and validation
•…
High availability
High scalability
•Microsft Azure PaaS
• Service Bus, Queues, Table & Blob Storage,
SQL Azure, ASP.NET MVC4, NodeJS …
•Microsoft Biztalk
• Business Rule Engine
• Business Process Manager
• Business Activity Monitor
Security
•Based on SAML 2.x
• WS-FEDERATION, OAUTH, JWT …
•Once identified, user credentials flows as claims
from the browser client to all server-side
implemented business logics for real-time
authorization based on dynamic authorization
policies
R.A.D.
• Behavior and test-driven development: tests are integral parts 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
• 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
• Based on John Papa’s HOT-Towel template, Durandal, Knockout etc.
• fast and powerful user interface implementation, styling, MVVM testing and many other
goodies …
Rapid Application Development
CAH5Shell Hexagonal
architecture
HTML5 LOB
Shell
RESTful
controllers
External
systems
Other systems
RDBMS
NOSQL/XML
temporal
repositories
ESB
Business Process
Engines
Internal client ports
External client
ports External services ports
Persistence ports
gdimauro@codearchitects.com
slabarile@codearchitects.com

More Related Content

e-Suap Inista 2014 (International Symposium on INnovation in Intelligent SysTems and Applications)

  • 2. Code Architects srl Microsoft Visual Studio Integration Partner Microsoft Silver Partner Giuseppe Dimauro CTO Code Architects srl – Microsoft MSDN Regional Director gdimauro@codearchitects.com e-SUAP@CAH5Shell introducing CAH5Shell Line Of Business Application Platform
  • 3. •Alberta Utilities Commission •Communications Research Centre Canada •Department of Environment and Conservation •Department of Workforce Development-State of Wisconsin •DIA (Divisione Investigativa Antimafia) •Elections BC •ENEL •Environment Canada •Equitalia Nomos •ICE IT –Istituto nazionale per il Commercio Estero •INAS/CISL •Ministero dell’ Ambiente •Ministero dell’ Interno •Nursing and Midwifery Council •Provincia di Milano •Provincia di Padova •Regione Emilia-Romagna •SOGIQUE –Ministere de la Sante et des Services Sociaux du Quebec •ACE Group •Banca di Roma •Banca Popolare di Bari •Banco di Napoli •BUPA some customers …
  • 4. Agenda: •e-SUAP: project goal •Main objectives •Architecture
  • 5. The project goal is to satisfy the needs of the office of the local Sportello Unico delle Attività Produttive (SUAP) thanks to an integrated platform of digital management for both the back office user and the user citizen/company/free lance who has the need. The need has been asked by the SUAP of the murgian area (Murgia Sviluppo S.C.A.R.L.), a government agency responsible for the territorial pact for 18 cities of the murgia area; the need is to create an integrated platform of digital online management of the SUAP, in compliance with the current legislation, including the D.P.R. n.160 Of 7 September 2010; from one side it has to satisfy the need of SUAP to give a complete online service which is both efficient and transparent for the citizen, and on the other side it satisfies the needs of the citizen himself or company or free lance to have a direct access to an online system to use the services of SUAP, being able to do in self-service mode all the administrative procedures, having full control of the evolution of the procedures. Project goal PARTNER:
  • 6. Main objectives •Browser based technology • Cross-browser, cross device •High availability, high scalability •Business Activity Monitoring •State of the art security •Rapid application development
  • 7. Main Objectives • Designed with the cloud in the mind – Highly scalable thanks to rich client implementation and SPA approach – Low bandwidth consumption for server round-trips: • Once Javascript and views are downloaded and cached, only data (with and without changetracking info) will go over the “wire”; • Rich full-domain and data-centric API approach, similar to Microsoft .Net smart clients and server applications; • RAD development with deep integration with Visual Studio 2013 and Microsoft Typescript – Silverlight RIA Services style HTML5 implementation: low bandwidth usage, highly maintainable code base, etc; • Client side development “experience” very similar to WPF and Silverlight implementation, based on MVVM pattern. Rich experience for TDD (Test Driven Devlopment) !!! • Write once, deploy on many browsers/devices through rigorous and methodical template mediation techniques;
  • 8. Browser based technology •Typescript == Typed Javascript •HTML5 •Single Page Application •Durandal: navigation •Knockout: binding and validation •…
  • 9. High availability High scalability •Microsft Azure PaaS • Service Bus, Queues, Table & Blob Storage, SQL Azure, ASP.NET MVC4, NodeJS … •Microsoft Biztalk • Business Rule Engine • Business Process Manager • Business Activity Monitor
  • 10. Security •Based on SAML 2.x • WS-FEDERATION, OAUTH, JWT … •Once identified, user credentials flows as claims from the browser client to all server-side implemented business logics for real-time authorization based on dynamic authorization policies
  • 12. • Behavior and test-driven development: tests are integral parts 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 • 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 • Based on John Papa’s HOT-Towel template, Durandal, Knockout etc. • fast and powerful user interface implementation, styling, MVVM testing and many other goodies … Rapid Application Development
  • 13. CAH5Shell Hexagonal architecture HTML5 LOB Shell RESTful controllers External systems Other systems RDBMS NOSQL/XML temporal repositories ESB Business Process Engines Internal client ports External client ports External services ports Persistence ports