In data Mercoledì 13 Giugno 2012 in aula 4, dalle 9:00 alle 10:30,il dott. Alessandro Forte della T.&C. Systems Group s.r.l. ha tenuto un seminario sull'Object-Relational Mapping.
Il dott. Forte è attualmente SW Architect per la T.&C. Systems Group s.r.l. e speaker certificato Microsoft Italia.
Si è trattato di un'importante occasione per affacciarsi a nuovi argomenti di interesse del mondo produttivo e allo stesso tempo entrare in contatto con una società attiva sul territorio. Si ringrazia il prof. Antonio Maratea per l'occasione concessa e la disponibilità dimostrata.
OSCON 2018 Getting Started with Hyperledger IndyTracy Kuhrt
Presented at OSCON 2018. Hyperledger Indy is a distributed ledger built for decentralized identity and is one of the open source frameworks hosted by Hyperledger. It provides tools, libraries, and reusable components for creating and using independent digital identities rooted on blockchains or other distributed ledgers. In this presentation, I introduce The Linux Foundation and Hyperledger. We look at Decentralized Identity Concepts -- identity models, decentralized identity, zero-knowledge proofs, and verifiable credentials. We look at a demo that utilizes Hyperledger Indy and these concepts. We then look at Hyperledger Indy's software stack and roadmap and touch on how you can get involved.
Part 1: Introduction to Self-Sovereing Identity (SSI), Verifiable Credentials, Standards defined by Decentralised Identity Foundation and W3C.
Part2: How to use it with Corda to develop scalable, decentralised applications that use smart contracts and SSI to orchestrate complex, multi-party processes.
Transparencias de la charla "Qué es eso de OAuth y como se implementa en Symfony2 (y otros)".
En esta charla dimos un repaso a los conceptos más importantes de OAuth y vimos cómo implementar nuestro propio servidor de autenticación/autorización usando Symfony2.
OSCON 2018 Getting Started with Hyperledger IndyTracy Kuhrt
Presented at OSCON 2018. Hyperledger Indy is a distributed ledger built for decentralized identity and is one of the open source frameworks hosted by Hyperledger. It provides tools, libraries, and reusable components for creating and using independent digital identities rooted on blockchains or other distributed ledgers. In this presentation, I introduce The Linux Foundation and Hyperledger. We look at Decentralized Identity Concepts -- identity models, decentralized identity, zero-knowledge proofs, and verifiable credentials. We look at a demo that utilizes Hyperledger Indy and these concepts. We then look at Hyperledger Indy's software stack and roadmap and touch on how you can get involved.
Part 1: Introduction to Self-Sovereing Identity (SSI), Verifiable Credentials, Standards defined by Decentralised Identity Foundation and W3C.
Part2: How to use it with Corda to develop scalable, decentralised applications that use smart contracts and SSI to orchestrate complex, multi-party processes.
Transparencias de la charla "Qué es eso de OAuth y como se implementa en Symfony2 (y otros)".
En esta charla dimos un repaso a los conceptos más importantes de OAuth y vimos cómo implementar nuestro propio servidor de autenticación/autorización usando Symfony2.
Gentle introduction to ZCash protocol.
- How it is different from Bitcoin protocol?
- How it ensures extended privacy and anonymity to the transactions?
- How does zero-knowledge (zk-SNARK) works?
- What is in roadmap as on Jan'18.
A Survey: DDOS Attack on Internet of ThingsIJERD Editor
Internet of Things refer as interconnection of smart object, included from small coffee machine to
big car, communicate with each other without human interactions also called as Device to Device
communications. In current emerging world, all of the devices become smarter and can communicate with other
devices as well. With this rapid development of Internet of Things in different area like smart home, smart
hospital etc. it also have to face some difficulty to securing overall privacy due to heterogeneity nature. There
are so many types of vulnerability but here in this paper we put concentration on Distributed Denial of Service
attack (DDoS). DoS is attack which can block the usage for authentic user and make network resource
unavailable, consume bandwidth; if similar attack is penetrated from different sources its call DDoS. To prevent
from such attack it need mechanism that can detect and prevent it from attack, but due to small devices it has
limited power capacity. So that mechanism must be implemented at network entrance. In this paper we discuss
different DDoS attack and its effect on IoT.
Verifiable Credentials, Self Sovereign Identity and DLTs Vasiliy Suvorov
My talk from Crypto Valley Conference 2018 on emerging standards in Self-Sovereign Identity, Technology behind it, Overview of implementations and how to use it with blockchain and DLT systems.
Self-issued OpenID Provider_OpenID Foundation Virtual Workshop Kristina Yasuda
Presentation I gave on Self-Issued OpenID Provider during the second OpenID Foundation Virtual Workshop covering:
1. What is Self-Issued OpenID Provider (SIOP) ?
2. SIOP Requirements (draft)
3. Initial discussion points deep-dive
Self-Issued OpenID Providers are personal OpenID Providers that issue self-signed ID Tokens, enabling portability of the identities among providers
OpenID Connect 4 SSI is an initiative conducted at OpenID Foundation in liaison with the Decentralized Identity Foundation. It aims at specifying a set of protocols based on OpenID Connect to enable SSI applications.
This session explores the unique aspects of quantitative trading strategies applied to cryptocurrencies. The session covers topics such as challenges of crypto quant strategies, DeFi and many others.
Hyperledger Indy Platform - Privacy, Security and Power for Digital Identity ...Gokul Alex
Blockchain Engineering Workshop for World Blockchain Conclave organised by 1point2GWS. Session on Hyperledger Indy Framework, Architecture Model, Components, Modules, Workflows. Demonstrated Verifiable Organisation Networks and Decentralised Workflows on Hyperledger Indy. Demonstrated Hyperledger Indy CLI and Indy Sandbox. Deep Dive on Decentralised Identifiers ( DID ) and the goals of DID. An overview of Sovrin platform is included.
I needed to ramp-up my Dev team on RESTful systems. Existing content on this topic was either too terse or too verbose.
So I created this deck as a necessary and sufficient tutorial on REST. The goal was for my Devs to walk away with enough of an understanding to be (and want to be) dangerous.
So here it is...REST in 18 slides (ok, 21 slides if you include Cover, References, and Thank You). This is more text-heavy than I prefer, but I needed an excuse to try out SlideShare so I opted for a presentation format.
More info: https://blockchainhub.net/
Ethereum for Beginners: History of the Blockchain & Ethereum, Components, Outlook, Web 3.0, Serverless, Decetralized Universal World Computer
FIWARE Identity Management and Access ControlFIWARE
This training camp teaches you how FIWARE technologies and iSHARE, brought together under the umbrella of the i4Trust initiative, can be combined to provide the means for creation of data spaces in which multiple organizations can exchange digital twin data in a trusted and efficient manner, collaborating in the development of innovative services based on data sharing and creating value out of the data they share. SMEs and Digital Innovation Hubs (DIHs) will be equipped with the necessary know-how to use the i4Trust framework for creating data spaces!
Using JSON Web Tokens for REST Authentication Mediacurrent
This session will provide an introduction to JSON Web Tokens (JWT) (https://jwt.io/introduction/), advantages over other authentication methods, and how to use it to authenticate requests to Drupal REST resources. After this session, attendees will have a better understanding of how JWTs work and will be able to set up and use JWT for authenticating REST requests in Drupal.
Gentle introduction to ZCash protocol.
- How it is different from Bitcoin protocol?
- How it ensures extended privacy and anonymity to the transactions?
- How does zero-knowledge (zk-SNARK) works?
- What is in roadmap as on Jan'18.
A Survey: DDOS Attack on Internet of ThingsIJERD Editor
Internet of Things refer as interconnection of smart object, included from small coffee machine to
big car, communicate with each other without human interactions also called as Device to Device
communications. In current emerging world, all of the devices become smarter and can communicate with other
devices as well. With this rapid development of Internet of Things in different area like smart home, smart
hospital etc. it also have to face some difficulty to securing overall privacy due to heterogeneity nature. There
are so many types of vulnerability but here in this paper we put concentration on Distributed Denial of Service
attack (DDoS). DoS is attack which can block the usage for authentic user and make network resource
unavailable, consume bandwidth; if similar attack is penetrated from different sources its call DDoS. To prevent
from such attack it need mechanism that can detect and prevent it from attack, but due to small devices it has
limited power capacity. So that mechanism must be implemented at network entrance. In this paper we discuss
different DDoS attack and its effect on IoT.
Verifiable Credentials, Self Sovereign Identity and DLTs Vasiliy Suvorov
My talk from Crypto Valley Conference 2018 on emerging standards in Self-Sovereign Identity, Technology behind it, Overview of implementations and how to use it with blockchain and DLT systems.
Self-issued OpenID Provider_OpenID Foundation Virtual Workshop Kristina Yasuda
Presentation I gave on Self-Issued OpenID Provider during the second OpenID Foundation Virtual Workshop covering:
1. What is Self-Issued OpenID Provider (SIOP) ?
2. SIOP Requirements (draft)
3. Initial discussion points deep-dive
Self-Issued OpenID Providers are personal OpenID Providers that issue self-signed ID Tokens, enabling portability of the identities among providers
OpenID Connect 4 SSI is an initiative conducted at OpenID Foundation in liaison with the Decentralized Identity Foundation. It aims at specifying a set of protocols based on OpenID Connect to enable SSI applications.
This session explores the unique aspects of quantitative trading strategies applied to cryptocurrencies. The session covers topics such as challenges of crypto quant strategies, DeFi and many others.
Hyperledger Indy Platform - Privacy, Security and Power for Digital Identity ...Gokul Alex
Blockchain Engineering Workshop for World Blockchain Conclave organised by 1point2GWS. Session on Hyperledger Indy Framework, Architecture Model, Components, Modules, Workflows. Demonstrated Verifiable Organisation Networks and Decentralised Workflows on Hyperledger Indy. Demonstrated Hyperledger Indy CLI and Indy Sandbox. Deep Dive on Decentralised Identifiers ( DID ) and the goals of DID. An overview of Sovrin platform is included.
I needed to ramp-up my Dev team on RESTful systems. Existing content on this topic was either too terse or too verbose.
So I created this deck as a necessary and sufficient tutorial on REST. The goal was for my Devs to walk away with enough of an understanding to be (and want to be) dangerous.
So here it is...REST in 18 slides (ok, 21 slides if you include Cover, References, and Thank You). This is more text-heavy than I prefer, but I needed an excuse to try out SlideShare so I opted for a presentation format.
More info: https://blockchainhub.net/
Ethereum for Beginners: History of the Blockchain & Ethereum, Components, Outlook, Web 3.0, Serverless, Decetralized Universal World Computer
FIWARE Identity Management and Access ControlFIWARE
This training camp teaches you how FIWARE technologies and iSHARE, brought together under the umbrella of the i4Trust initiative, can be combined to provide the means for creation of data spaces in which multiple organizations can exchange digital twin data in a trusted and efficient manner, collaborating in the development of innovative services based on data sharing and creating value out of the data they share. SMEs and Digital Innovation Hubs (DIHs) will be equipped with the necessary know-how to use the i4Trust framework for creating data spaces!
Using JSON Web Tokens for REST Authentication Mediacurrent
This session will provide an introduction to JSON Web Tokens (JWT) (https://jwt.io/introduction/), advantages over other authentication methods, and how to use it to authenticate requests to Drupal REST resources. After this session, attendees will have a better understanding of how JWTs work and will be able to set up and use JWT for authenticating REST requests in Drupal.
Note di Data Warehouse e Business Intelligence - Tecniche di Naming Conventio...Massimo Cenci
La naming convention è una componente fondamentale di ogni progetto informatico.
L’obiettivo di questo articolo è quello di suggerire uno standard di nomenclatura
pratico ed efficace per un progetto di Data Warehouse.
(parte 1)
Modelli applicativi per il Cloud Computing - Part 1 - Edition 2014Marco Parenzan
Some history developing applications, starting from OOP and three tier. The limitations, and some mistakes. Prepare moving to new architectures for Cloud Computing...in part 2
Loosely Coupled Complexity - Unleash the power of your domain modelFrancesca1980
Common software architectures are full of well-established assumptions. But some of them are flawed, no longer valid or relevant. Changing the rules of the game using DDD, CQRS and Event Sourcing can lead to systems which are more scalable, maintainable and performing. And which are fun to code as well.
Lo sai che si può fare DDD in Javascript grazie a Typescript? Visual Studio e...Marco Parenzan
Scrivere Object Oriented è ora possibile anche in Javascript con Typescript. E in generale bisogna concentrarsi nello scrivere codice di valore e non "autogenerato" dallo scaffolding. Capiamo come si fa riscrivendo un vecchio gioco della Licasfilm!
Note di Data Warehouse e Business Intelligence - Tecniche di Naming Conventio...Massimo Cenci
La naming convention è una componente fondamentale di ogni progetto informatico.
L’obiettivo di questo articolo è quello di suggerire uno standard di nomenclatura pratico ed efficace per un progetto di Data Warehouse.
(parte 2)
Alessandro Forte - Windows Vista 4 Dev - Parte 1Alessandro Forte
Alessandro Forte, co-fondatore di DotNetCampania, illustra le potenzialità di sviluppo su Windows Vista in occasione del DotNetCampania Community Tour 2009.
Alessandro Forte - Windows Vista 4 Dev - Parte 2Alessandro Forte
Alessandro Forte, co-fondatore di DotNetCampania, illustra le potenzialità di sviluppo su Windows Vista in occasione del DotNetCampania Community Tour 2009.
Alessandro Forte e Michele Aponte, co-fondatori di DotNetCampania, intervengono sul confronto tra i due pattern MVP e MVC per lo sviluppo di applicazioni Web.
Alessandro Forte, co-fondatore di DotNetCampania, illustra ai soci dell’associazione la piattaforma Android e come sviluppare applicazioni per tale piattaforma.
1. Alessandro Forte
SW Architect @ T&C Group
MCP – MCTS
http://www.alessandroforte.it/blog
info@alessandroforte.it
2. Alessandro Forte
Software Architect @ T&C Group
DotNetCampan
ia Founder
Contatti
WebSite: http://www.alessandroforte.it/
Blog: http://www.alessandroforte.it/blog/
E-Mail: informazioni@alessandroforte.it
Prossimo Speech
BBCC - Biology, Bioinformatics and Computation in
Campania Napoli, 27/09/2012
Compra il mio libro
3. Agenda della giornata:
o ORMs
o OR Impedance Mismatch
o DAL
o Entity Framework
o DEMO (Creiamo un EDM)
o DEMO (Consumiamo un EDM)
o QAT
4.
5. “Object-relational mapping (ORM, O/RM, and O/R mapping) in
computer software is a programming technique in which a metadata
descriptor is used to connect object code to a relational database”.
Object code is written in object-oriented programming (OOP) languages
such as Java or C#.
Gli Oggetti sono GERARCHICI I Database sono RELAZIONALI
6. “Object-Relational Impedance Mismatch” è un modo elegante di dire che
gli Object Models e i Relational Models non lavorano molto bene tra di
loro.
Gli RDBMSs rappresentano I dati in un “formato tabellare”, mentre I
linguaggi di programmazione object-oriented, come Java e C#,
rappresentano I dati come “grafi di oggetti” interconnessi tra di loro.
Il caricamento e la memorizzazione di grafi di oggetti usando la
notazione tabellare dei database relazionali ci espone ad almeno 5
problemi di “disallineamento”
8. Spesso ci troviamo nel caso in cui il nostro Object Model ha (mappa) più
classi rispetto al numero corrispondente di tabelle nel database.
public class Teacher{
}
public class School{
}
10. L’ereditarietà è un paradigma “naturale” nei linguaggi di programmazione
orientati agli oggetti.
Negli RDBMS invece non abbiamo nulla che possa essere paragonato al
concetto di ereditarietà.
User
Inheritance
Student Teacher
14. Le associazioni sono rappresentate come un riferimento unidirezionale nei
linguaggi orientanti agli oggetti. Infatti se si necessita di una relazione
“bidirezionale”, è necessario definire due volte l’associazione.
Gli RDBMS invece utilizzano il concetto delle Foreign Keys che è
intrinsecamente bi-direzionale.
Class user_main {
Teacher teacher;
}
Class Teacher {
}
16. Una delle maggiori "differenze" tra i database relazionali e i linguaggi OO risiede nella
tipologia dei Tipi utilizzati.
Il modello relazionale infatti proibisce in maniera "stretta" attributi (o puntatori) per
referenza, al contrario di ciò che fanno invece i linguaggi OO.
String Varchar(150)
Date DateTime
Decimal Money
Caso emblematico è caratterizzato dal tipo Stringa.
Molti sistemi SQL costringono a definire per le stringhe una lunghezza massima,
mentre la maggior parte dei linguaggi OO dimensiona automaticamente le stringhe
con la memoria disponibile.
17.
18. Object Relational Mapping, è una tecnica che
consente ai linguaggi di programmazione orientati agli
oggetti di lavorare “bene” con i database relazionali.
Object world Relational
world
User
Stu Mapping
A…
B..
19. Esistono molti ORMs sul mercato
LLBLGen Pro http://www.llblgen.com/
Nhibernate http://www.hibernate.org/343.html
EntitySpaces
http://www.entityspaces.net/Portal/Default.aspx
Open Access http://www.telerik.com/products/orm.aspx
DevForce http://www.ideablade.com/
XPO http://www.devexpress.com/Products/NET/ORM/
Lightspeed
http://www.mindscape.co.nz/products/LightSpeed/default
.aspx
e molti altri ancora…
Non c’è un “vincitore” assoluto = gli ORM sono di “recente”
utilizzo
◦ Nel 2003 erano presenti 31 .NET ORMs.
◦ Oggi ce ne sono alcuni cardine su cui si estendono gli altri….
20. Typed Datasets (cough) – rilasciato nel 2002
ObjectSpaces “v1” – MAI rilasciato
ObjectSpaces “v2” – MAI rilasciato
Microsoft Business Framework – MAI rilasciato
WinFS – MAI rilasciato
Entity Framework 1
◦ LINQ to SQL – rilasciato nel Novembre del 2007
Visual Studio 2008 & .NET Framework 3.5
◦ LINQ to Entities – rilasciato nell’Agosto del 2008
Visual Studio 2008 SP1 & .NET Framework 3.5 SP1
Entity Framework 4 – rilasciato nel Aprile del 2010
◦ Visual Studio 2010 & .NET Framework 4.0
Entity Framework 5 RC
◦ Visual Studio 2011 & .NET Framework 4.5 Beta
23. ◦ Velocità di Sviluppo.
Una su tutte…Elimina la scrittura di codice ripetitivo
come il mapping dei campi di una query result sulle
proprietà di un oggetto e viceversa.
◦ Supporto OO per l’incapsulamento delle business
rules all’interno del proprio DAL (meglio BL ).
Si scrivono (e si debuggano) le regole di business nel
linguaggio di preferenza, invece di utilizzare “milioni”
di trigger e “miliardi” di stored procedures.
24. ◦ Rende l’accesso ai dati più astratto e portabile.
Le classi di implementazione dell’ORM conoscono
come scrivere vendor-specific SQL, così addio
“traduzione”.
◦ Generazione di codice “standard” per le operazioni
CRUD (Create, Read, Update, Delete).
Alcuni ORM frameworks ispezionano direttamente I
metadata dei database, leggono i metadata mapping
files, e generano classi e metodi...
26. 300 tabella = 1200 operazioni CRUD = 1200 Sprocs
Sapete cosa significa?
• Fate voi …
27. Svantaggi di un ORM
◦ Bassa capacità di Interrogazione
Genera un wrap di SQL (poco ottimizzabile)
◦ Riduzione del codice SQL
Finché parliamo di CRUD è ok.
Ma su query complesse l’SQL è più semplice.
◦ Lazy loading approach
La tecnica è interessante di per sé…
Invece l’esecuzione di SQL addizionale per recuperare
le referenze a colonne di tabelle correlate è
usualmente poco efficiente.
29. “A data access layer (DAL) in
computer software, is a layer
of a computer program which
provides simplified access
to data stored in persistent
storage of some kind, such as
an entity-relational database”
30.
31.
32. Cos’è?
◦ E’ un tool (con annesso servizi) per creare un Entity
Data Model
EDM funziona su SQL Server, Oracle, DB2… DB Indipendent
◦ E’ un tool (con annesso servizi) per consumare un
Entity Data Model
◦ Gestione centralizzata tramite l’Object Context
Perché usarlo?
◦ Aumenta la produttività
◦ Genera mapping complessi tra entità e tabelle del
database
◦ Integrato con il Microsoft .NET Technology Stack
Note
◦ E’ “strategico”
33. Composto da 3 layers: Entity Data Model
◦ Conceptual (CSDL)
◦ Mapping (MSL) Conceptual
◦ Storage (SSDL)
Database agnostic
Comprende: Mapping
◦ Entità
◦ Associazioni
◦ Funzioni Storage
36. Abbiamo visto cos’è un ORM con annessi
pros e cons.
Abbiamo visto cos’è un DAL e perché un ORM
è importante per la generazione dello stesso.
Abbiamo visto EF come strumento di ORM.
Quindi da oggi potete usare un ORM…