SlideShare una empresa de Scribd logo
1 de 36
.NET Development
for SQL Server Developer
Marco Parenzan

1nn0va
Servizi CGN

#sqlsat257
#sqlsat264
#sqlsatverona
Sponsors & Media Partners

Dicembre 13th, 2013

#sqlsat264
Organizers

Dicembre 13th, 2013

#sqlsat264
About me
Formazione & Innovazione con Servizi CGN
Formazione & Divulgazione con 1nn0va
@marco_parenzan
it.linkedin.com/in/marcoparenzan
www.facebook.com/parenzan.marco
codeisvalue.wordpress.com
www.marcoparenzan.it
www.slideshare.net/marco.parenzan
github.com/marcoparenzan
marco [dot] parenzan [at] libero/live [dot] it
(Tentative of) Cloud Developer
Developer e Architect…in .NET?

Dicembre 13th, 2013

#sqlsat264
Agenda
I’m not alone...:)
.NET state of the art
A story from a SQL Server Developer
Create a DB in a Developer way

Two other stories

Dicembre 13th, 2013

#sqlsat264
From Alessandro and Gian Maria session...
There can be more Developer life in your Sql
life


ALM
(Unit) Testing
DB vs. Codice
Domain, Code








Dicembre 13th, 2013

#sqlsat264
.NET State of the Art
Mature environment
2002+
8 versions
Consistent
(Server side) pervasive
environment
Devices, Web
(HTML5/CSS3/Javascript) are
here to stay
Possibility of a scale-out model
Data services
ASP.NET .NET/WCF

Dicembre 13th, 2013

#sqlsat264
C# State of the Art
Mature and powerful and expressive language
Declarative approach is in general correct
But it’s not (always) confortable
Imperative language
Tell how to do it…
…not just what you want...
…sometimes is faster…
Many functional/SQL goodies
LINQ
Many scalability goodies
Parallelism
Async
Start talking about «cost of manteinance»
Not performances

Dicembre 13th, 2013

#sqlsat264
.NET: where we are
.NET 4.5.1
C# 5.0
Visual Studio 2013
ASP.NET (MVC) 5.0: one ASP.NET
Entity Framework 6.0
Team Foundation Server (on premise)
Visual Studio Online (aka Team Foundation Service cloud)
...and we now have a three week scrum sprint releases
MVC 5.1
Visual Studio 2013.1




Dicembre 13th, 2013

#sqlsat264
Many good «forgotten» tools
Powershell 3.0
SQL Server Data Tools
Windows Azure

Dicembre 13th, 2013

#sqlsat264
Many good «third party» tools
ASPOSE.Total 8.5
NoSQL
Raven DB

Dicembre 13th, 2013

#sqlsat264
A story from a SQLServer
Developer
Dicembre 13th, 2013

#sqlsat264
The story is about a CRM
Among many others
Just change CRM with *  (it’s the same)

The story is about a boy…
…that is SQL-based (a BI guy!)
…that tries to solve all things with SQL

Sometimes (I think) he does things
«complicated»
could be «declarative vs. imperative»
programming
But this is another story
Dicembre 13th, 2013

#sqlsat264
Create a DB in a Developer way
Remembering #sqlsat176
http://www.slideshare.net/marco.parenzan/sql-server-data-tools15242283

Remembering Gian Maria Ricci’s session

“Database projects strikes back”
As a project inside Visual Studio
SQL Server Data Tools
A «restart» for Database Project…
Model based
Differential Updates
All aspects for SQL Server Database developments
Not administration
Just Model
Also SQL CLR

Dicembre 13th, 2013

#sqlsat264
A story from a SQLServer Developer:
needs
I need to
do it «@
home» 

I need to
import
data

I need to
admin
data

I need to
handle
data

I need to
share the
data

Dicembre 13th, 2013

Start here

I need to
edit data

The only thing I can’t do (?)

#sqlsat264
A story from a SQLServer Developer: SQL solutions

@home

Import
Data/ETL

Management
Studio + SQL

Stored
Procedures

Export
Data/ETL

Dicembre 13th, 2013

Start here

????
Access???

No way!

#sqlsat264
A story from a SQLServer Developer: solutions
Consume
.NET inside
SQL Server

SQL Server
Access by
System.Data
+ Libraries

Consume
Data and SQL
Server via
Powershell
+ Libraries

SQL Server by
Entity
Framework 6.0

Expose Data
as Data
Services

Dicembre 13th, 2013

Start here

Web Apps
with ASP.NET
MVC 5.0

The only thing I can’t do (?)

#sqlsat264
SQL Server Access by System.Data
Connected Way
The faster way
Magic strings
Write SQL!
Tables/Views/Stored Procedures

From the beginning (2002)…
…here to stay!

Dicembre 13th, 2013

#sqlsat264
SQL Server Access from other data
Excel Workbooks, Xml, Json
Just Import Data?

Libraries libraries libraries
For exampleASPOSE.Cells
Complete implementation of a Excel object model
No dependencies from Office
Good for Server Side scenarios

And other office tools are the same

Dicembre 13th, 2013

#sqlsat264
Pros & Cons
Pros
Rich data manipulation
Speed of coding (imperative way)
Cons
Speed of execution






Dicembre 13th, 2013

#sqlsat264
SQL Server by Entity Framework 6.0
Programmers love objects
Impedance Mismatch (Davide…where are you?)
EF 6.0
A step forward
Finally, Create/Update/Delete methods mappable on
SP!
And we can work with ViewModels
A modern approach to applications
No more «one model for all»

Dicembre 13th, 2013

#sqlsat264
Pros & Cons
Pros
Modeling in a more intuitive way
Recover speed of execution with store procs
Cons
Impedance Mismatch (analisys more
importat)






Dicembre 13th, 2013

#sqlsat264
Web Apps with ASP.NET MVC 5.0
Scaffolding! Scaffolding! Scaffolding!
Scaffolding! Scaffolding! Scaffolding!
Here I can say it!
It’s not a good pattern for Enterprise-grade
applications…
…but sometime is useful

No, I’m not speaking about Javascript, just
HTML5 (and CSS3)
Your apps will be «nice» 

Dicembre 13th, 2013

#sqlsat264
Expose Data as Data Services
JSON is here to stay
Web Services are REST
XML is just a Server to Server Scenario

BI and Cloud models loves it!

Dicembre 13th, 2013

#sqlsat264
Pros & Cons
Pros
Powerful way to express data
More control over execution
Json and Xml
Cons
Impedance Mismatch (analisys more
importat)








Dicembre 13th, 2013

#sqlsat264
Consume Data and SQL Server via Powershell

Powershell is the new Command Line
How many times did you hear it?
Don’t be lazy (me too!)

Expressive
Verbs-Noun
Objects  Metadata
Pipelining (functional)
Rich imperative language

Powershell is entirely .NET
Extendable with .NET: CmdLets
Dicembre 13th, 2013

#sqlsat264
Consume Data and SQL Server with Libraries
Why reports only with Reporting Services?
Why not a…
…word document
…excel workbook with graph and pivot
…a Powerpoint presentation
…a Visio Graph?
…Bar codes?
Manupulate data for presentation
ASPOSE…again
I don’t sell ASPOSE…
…but I love it!
Again: it’s just one of many

Dicembre 13th, 2013

#sqlsat264
Consume .NET inside SQL Server
Host C# (CLR) code inside SQL Server
Stored Procedures
UDT

Access to «all» .NET libraries
Just a little bit of dependencies

UNSAFE
It’s not a real issue
Just create another DB

Dicembre 13th, 2013

#sqlsat264
Two other stories
from a Developer POV
Dicembre 13th, 2013

#sqlsat264
The Cloud is here to stay!
Windows Azure is a real opportunity for the
.NET Developer
I think for ALL developers

This year:
Scott Guthrie and Mark Russinovick in Azure Team
A lot of updates this year! Developer friendly!

Dicembre 13th, 2013

#sqlsat264
The tools are no more where to start
.NET or C# or ASP.NET are not where to start
They are not a pillar or a constraint
It’s the consequence of an analysis (what we can
call «bounded context» in Domain Driven Design –
the right choice is for each context)
Is the same for SQL Server developer?
I think so

ALM is important

Dicembre 13th, 2013

#sqlsat264
ALM is important
Analysis
SCRUM
Team Foundation Server
See Alessandro Alpi «Put database under
source control» session!

Dicembre 13th, 2013

#sqlsat264
CONCLUSION

Dicembre 13th, 2013

#sqlsat264
There were three guys in front of a
pizza…
…last month!
Live confortable with SQL Server…
…but don’t look just inside your garden!
If you don’t believe me, just try by yourself:
I’m not saying use .NET….
…I’m saying «there is .NET»

Technology is good because you can fall in
love more times…
...at the same time!

Dicembre 13th, 2013

#sqlsat264
#sqlsat264

Thanks!

Dicembre 13th, 2013

#sqlsat264
Q&A
@marco_parenzan
it.linkedin.com/in/marcoparenzan
www.facebook.com/parenzan.marco
codeisvalue.wordpress.com
www.marcoparenzan.it
www.slideshare.net/marco.parenzan
github.com/marcoparenzan
marco [dot] parenzan [at] libero/live [dot] it

Dicembre 13th, 2013

#sqlsat264

Más contenido relacionado

Similar a .NET Development for SQL Server Developer - Sql Saturday #264 Ancona

[ENG] Sql Saturday 355 in Parma - New "SQL Server databases under source cont...
[ENG] Sql Saturday 355 in Parma - New "SQL Server databases under source cont...[ENG] Sql Saturday 355 in Parma - New "SQL Server databases under source cont...
[ENG] Sql Saturday 355 in Parma - New "SQL Server databases under source cont...Alessandro Alpi
 
PostgreSQL versus MySQL - What Are The Real Differences
PostgreSQL versus MySQL - What Are The Real DifferencesPostgreSQL versus MySQL - What Are The Real Differences
PostgreSQL versus MySQL - What Are The Real DifferencesAll Things Open
 
Montée en version de 300 bases de données vers Oracle 12c en 300 jours. Quel...
Montée en version de 300 bases de données vers Oracle 12c en 300 jours.  Quel...Montée en version de 300 bases de données vers Oracle 12c en 300 jours.  Quel...
Montée en version de 300 bases de données vers Oracle 12c en 300 jours. Quel...Swiss Data Forum Swiss Data Forum
 
Storage in the Windows Azure Platform - ericnel
Storage in the Windows Azure Platform - ericnelStorage in the Windows Azure Platform - ericnel
Storage in the Windows Azure Platform - ericnelukdpe
 
Scala services in action
Scala services in actionScala services in action
Scala services in actionUnderscore
 
A partly cloudy future - by Grant Fritchey
A partly cloudy future - by Grant FritcheyA partly cloudy future - by Grant Fritchey
A partly cloudy future - by Grant FritcheyRed Gate Software
 
DAS Slides: Data Architect vs. Data Engineer vs. Data Modeler
DAS Slides: Data Architect vs. Data Engineer vs. Data ModelerDAS Slides: Data Architect vs. Data Engineer vs. Data Modeler
DAS Slides: Data Architect vs. Data Engineer vs. Data ModelerDATAVERSITY
 
Stepping Up Your DevOps With Step Functions
Stepping Up Your DevOps With Step FunctionsStepping Up Your DevOps With Step Functions
Stepping Up Your DevOps With Step FunctionsDevOpsDays DFW
 
Scala meetup Kyiv slides 20171215
Scala meetup Kyiv slides 20171215Scala meetup Kyiv slides 20171215
Scala meetup Kyiv slides 20171215Evaldas Miliauskas
 
Azuresatpn19 - An Introduction To Azure Data Factory
Azuresatpn19 - An Introduction To Azure Data FactoryAzuresatpn19 - An Introduction To Azure Data Factory
Azuresatpn19 - An Introduction To Azure Data FactoryRiccardo Perico
 
My 2019 SQL Saturday In San Diego presentation
My 2019 SQL Saturday In San Diego presentationMy 2019 SQL Saturday In San Diego presentation
My 2019 SQL Saturday In San Diego presentationSteve Rezhener, MBA
 
Running Business Analytics for a Serverless Insurance Company - Joe Emison & ...
Running Business Analytics for a Serverless Insurance Company - Joe Emison & ...Running Business Analytics for a Serverless Insurance Company - Joe Emison & ...
Running Business Analytics for a Serverless Insurance Company - Joe Emison & ...Daniel Zivkovic
 
2014.11.22 Azure for Sql Server Developer - SQLSAT355 Parma
2014.11.22 Azure for Sql Server Developer - SQLSAT355 Parma2014.11.22 Azure for Sql Server Developer - SQLSAT355 Parma
2014.11.22 Azure for Sql Server Developer - SQLSAT355 ParmaMarco Parenzan
 
DevDays 2011- Let’s get ready for the cloud: Building your applications so th...
DevDays 2011- Let’s get ready for the cloud: Building your applications so th...DevDays 2011- Let’s get ready for the cloud: Building your applications so th...
DevDays 2011- Let’s get ready for the cloud: Building your applications so th...Robert MacLean
 
USQ Landdemos Azure Data Lake
USQ Landdemos Azure Data LakeUSQ Landdemos Azure Data Lake
USQ Landdemos Azure Data LakeTrivadis
 
MySQL 8.0 Document Store - Discovery of a New World
MySQL 8.0 Document Store - Discovery of a New WorldMySQL 8.0 Document Store - Discovery of a New World
MySQL 8.0 Document Store - Discovery of a New WorldFrederic Descamps
 
Keeping the fun in functional w/ Apache Spark @ Scala Days NYC
Keeping the fun in functional   w/ Apache Spark @ Scala Days NYCKeeping the fun in functional   w/ Apache Spark @ Scala Days NYC
Keeping the fun in functional w/ Apache Spark @ Scala Days NYCHolden Karau
 

Similar a .NET Development for SQL Server Developer - Sql Saturday #264 Ancona (20)

[ENG] Sql Saturday 355 in Parma - New "SQL Server databases under source cont...
[ENG] Sql Saturday 355 in Parma - New "SQL Server databases under source cont...[ENG] Sql Saturday 355 in Parma - New "SQL Server databases under source cont...
[ENG] Sql Saturday 355 in Parma - New "SQL Server databases under source cont...
 
PostgreSQL versus MySQL - What Are The Real Differences
PostgreSQL versus MySQL - What Are The Real DifferencesPostgreSQL versus MySQL - What Are The Real Differences
PostgreSQL versus MySQL - What Are The Real Differences
 
Montée en version de 300 bases de données vers Oracle 12c en 300 jours. Quel...
Montée en version de 300 bases de données vers Oracle 12c en 300 jours.  Quel...Montée en version de 300 bases de données vers Oracle 12c en 300 jours.  Quel...
Montée en version de 300 bases de données vers Oracle 12c en 300 jours. Quel...
 
Storage in the Windows Azure Platform - ericnel
Storage in the Windows Azure Platform - ericnelStorage in the Windows Azure Platform - ericnel
Storage in the Windows Azure Platform - ericnel
 
Scala services in action
Scala services in actionScala services in action
Scala services in action
 
A partly cloudy future - by Grant Fritchey
A partly cloudy future - by Grant FritcheyA partly cloudy future - by Grant Fritchey
A partly cloudy future - by Grant Fritchey
 
DAS Slides: Data Architect vs. Data Engineer vs. Data Modeler
DAS Slides: Data Architect vs. Data Engineer vs. Data ModelerDAS Slides: Data Architect vs. Data Engineer vs. Data Modeler
DAS Slides: Data Architect vs. Data Engineer vs. Data Modeler
 
Stepping Up Your DevOps With Step Functions
Stepping Up Your DevOps With Step FunctionsStepping Up Your DevOps With Step Functions
Stepping Up Your DevOps With Step Functions
 
Scala meetup Kyiv slides 20171215
Scala meetup Kyiv slides 20171215Scala meetup Kyiv slides 20171215
Scala meetup Kyiv slides 20171215
 
Azuresatpn19 - An Introduction To Azure Data Factory
Azuresatpn19 - An Introduction To Azure Data FactoryAzuresatpn19 - An Introduction To Azure Data Factory
Azuresatpn19 - An Introduction To Azure Data Factory
 
My 2019 SQL Saturday In San Diego presentation
My 2019 SQL Saturday In San Diego presentationMy 2019 SQL Saturday In San Diego presentation
My 2019 SQL Saturday In San Diego presentation
 
Mine craft:
Mine craft: Mine craft:
Mine craft:
 
Running Business Analytics for a Serverless Insurance Company - Joe Emison & ...
Running Business Analytics for a Serverless Insurance Company - Joe Emison & ...Running Business Analytics for a Serverless Insurance Company - Joe Emison & ...
Running Business Analytics for a Serverless Insurance Company - Joe Emison & ...
 
2014.11.22 Azure for Sql Server Developer - SQLSAT355 Parma
2014.11.22 Azure for Sql Server Developer - SQLSAT355 Parma2014.11.22 Azure for Sql Server Developer - SQLSAT355 Parma
2014.11.22 Azure for Sql Server Developer - SQLSAT355 Parma
 
DevDays 2011- Let’s get ready for the cloud: Building your applications so th...
DevDays 2011- Let’s get ready for the cloud: Building your applications so th...DevDays 2011- Let’s get ready for the cloud: Building your applications so th...
DevDays 2011- Let’s get ready for the cloud: Building your applications so th...
 
USQ Landdemos Azure Data Lake
USQ Landdemos Azure Data LakeUSQ Landdemos Azure Data Lake
USQ Landdemos Azure Data Lake
 
Workflow Engines + Luigi
Workflow Engines + LuigiWorkflow Engines + Luigi
Workflow Engines + Luigi
 
MySQL 8.0 Document Store - Discovery of a New World
MySQL 8.0 Document Store - Discovery of a New WorldMySQL 8.0 Document Store - Discovery of a New World
MySQL 8.0 Document Store - Discovery of a New World
 
Ibm redbook
Ibm redbookIbm redbook
Ibm redbook
 
Keeping the fun in functional w/ Apache Spark @ Scala Days NYC
Keeping the fun in functional   w/ Apache Spark @ Scala Days NYCKeeping the fun in functional   w/ Apache Spark @ Scala Days NYC
Keeping the fun in functional w/ Apache Spark @ Scala Days NYC
 

Más de Marco Parenzan

Azure IoT Central per lo SCADA engineer
Azure IoT Central per lo SCADA engineerAzure IoT Central per lo SCADA engineer
Azure IoT Central per lo SCADA engineerMarco Parenzan
 
Static abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptx
Static abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptxStatic abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptx
Static abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptxMarco Parenzan
 
Azure Synapse Analytics for your IoT Solutions
Azure Synapse Analytics for your IoT SolutionsAzure Synapse Analytics for your IoT Solutions
Azure Synapse Analytics for your IoT SolutionsMarco Parenzan
 
Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT Central Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT Central Marco Parenzan
 
Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT CentralPower BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT CentralMarco Parenzan
 
Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT CentralPower BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT CentralMarco Parenzan
 
Developing Actors in Azure with .net
Developing Actors in Azure with .netDeveloping Actors in Azure with .net
Developing Actors in Azure with .netMarco Parenzan
 
Math with .NET for you and Azure
Math with .NET for you and AzureMath with .NET for you and Azure
Math with .NET for you and AzureMarco Parenzan
 
Power BI data flow and Azure IoT Central
Power BI data flow and Azure IoT CentralPower BI data flow and Azure IoT Central
Power BI data flow and Azure IoT CentralMarco Parenzan
 
.net for fun: write a Christmas videogame
.net for fun: write a Christmas videogame.net for fun: write a Christmas videogame
.net for fun: write a Christmas videogameMarco Parenzan
 
Building IoT infrastructure on edge with .net, Raspberry PI and ESP32 to conn...
Building IoT infrastructure on edge with .net, Raspberry PI and ESP32 to conn...Building IoT infrastructure on edge with .net, Raspberry PI and ESP32 to conn...
Building IoT infrastructure on edge with .net, Raspberry PI and ESP32 to conn...Marco Parenzan
 
Anomaly Detection with Azure and .NET
Anomaly Detection with Azure and .NETAnomaly Detection with Azure and .NET
Anomaly Detection with Azure and .NETMarco Parenzan
 
Deploy Microsoft Azure Data Solutions
Deploy Microsoft Azure Data SolutionsDeploy Microsoft Azure Data Solutions
Deploy Microsoft Azure Data SolutionsMarco Parenzan
 
Deep Dive Time Series Anomaly Detection in Azure with dotnet
Deep Dive Time Series Anomaly Detection in Azure with dotnetDeep Dive Time Series Anomaly Detection in Azure with dotnet
Deep Dive Time Series Anomaly Detection in Azure with dotnetMarco Parenzan
 
Anomaly Detection with Azure and .net
Anomaly Detection with Azure and .netAnomaly Detection with Azure and .net
Anomaly Detection with Azure and .netMarco Parenzan
 
Code Generation for Azure with .net
Code Generation for Azure with .netCode Generation for Azure with .net
Code Generation for Azure with .netMarco Parenzan
 
Running Kafka and Spark on Raspberry PI with Azure and some .net magic
Running Kafka and Spark on Raspberry PI with Azure and some .net magicRunning Kafka and Spark on Raspberry PI with Azure and some .net magic
Running Kafka and Spark on Raspberry PI with Azure and some .net magicMarco Parenzan
 
Time Series Anomaly Detection with Azure and .NETT
Time Series Anomaly Detection with Azure and .NETTTime Series Anomaly Detection with Azure and .NETT
Time Series Anomaly Detection with Azure and .NETTMarco Parenzan
 

Más de Marco Parenzan (20)

Azure IoT Central per lo SCADA engineer
Azure IoT Central per lo SCADA engineerAzure IoT Central per lo SCADA engineer
Azure IoT Central per lo SCADA engineer
 
Azure Hybrid @ Home
Azure Hybrid @ HomeAzure Hybrid @ Home
Azure Hybrid @ Home
 
Static abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptx
Static abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptxStatic abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptx
Static abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptx
 
Azure Synapse Analytics for your IoT Solutions
Azure Synapse Analytics for your IoT SolutionsAzure Synapse Analytics for your IoT Solutions
Azure Synapse Analytics for your IoT Solutions
 
Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT Central Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT Central
 
Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT CentralPower BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT Central
 
Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT CentralPower BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT Central
 
Developing Actors in Azure with .net
Developing Actors in Azure with .netDeveloping Actors in Azure with .net
Developing Actors in Azure with .net
 
Math with .NET for you and Azure
Math with .NET for you and AzureMath with .NET for you and Azure
Math with .NET for you and Azure
 
Power BI data flow and Azure IoT Central
Power BI data flow and Azure IoT CentralPower BI data flow and Azure IoT Central
Power BI data flow and Azure IoT Central
 
.net for fun: write a Christmas videogame
.net for fun: write a Christmas videogame.net for fun: write a Christmas videogame
.net for fun: write a Christmas videogame
 
Building IoT infrastructure on edge with .net, Raspberry PI and ESP32 to conn...
Building IoT infrastructure on edge with .net, Raspberry PI and ESP32 to conn...Building IoT infrastructure on edge with .net, Raspberry PI and ESP32 to conn...
Building IoT infrastructure on edge with .net, Raspberry PI and ESP32 to conn...
 
Anomaly Detection with Azure and .NET
Anomaly Detection with Azure and .NETAnomaly Detection with Azure and .NET
Anomaly Detection with Azure and .NET
 
Deploy Microsoft Azure Data Solutions
Deploy Microsoft Azure Data SolutionsDeploy Microsoft Azure Data Solutions
Deploy Microsoft Azure Data Solutions
 
Deep Dive Time Series Anomaly Detection in Azure with dotnet
Deep Dive Time Series Anomaly Detection in Azure with dotnetDeep Dive Time Series Anomaly Detection in Azure with dotnet
Deep Dive Time Series Anomaly Detection in Azure with dotnet
 
Azure IoT Central
Azure IoT CentralAzure IoT Central
Azure IoT Central
 
Anomaly Detection with Azure and .net
Anomaly Detection with Azure and .netAnomaly Detection with Azure and .net
Anomaly Detection with Azure and .net
 
Code Generation for Azure with .net
Code Generation for Azure with .netCode Generation for Azure with .net
Code Generation for Azure with .net
 
Running Kafka and Spark on Raspberry PI with Azure and some .net magic
Running Kafka and Spark on Raspberry PI with Azure and some .net magicRunning Kafka and Spark on Raspberry PI with Azure and some .net magic
Running Kafka and Spark on Raspberry PI with Azure and some .net magic
 
Time Series Anomaly Detection with Azure and .NETT
Time Series Anomaly Detection with Azure and .NETTTime Series Anomaly Detection with Azure and .NETT
Time Series Anomaly Detection with Azure and .NETT
 

Último

Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 

Último (20)

Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 

.NET Development for SQL Server Developer - Sql Saturday #264 Ancona

  • 1. .NET Development for SQL Server Developer Marco Parenzan 1nn0va Servizi CGN #sqlsat257 #sqlsat264 #sqlsatverona
  • 2. Sponsors & Media Partners Dicembre 13th, 2013 #sqlsat264
  • 4. About me Formazione & Innovazione con Servizi CGN Formazione & Divulgazione con 1nn0va @marco_parenzan it.linkedin.com/in/marcoparenzan www.facebook.com/parenzan.marco codeisvalue.wordpress.com www.marcoparenzan.it www.slideshare.net/marco.parenzan github.com/marcoparenzan marco [dot] parenzan [at] libero/live [dot] it (Tentative of) Cloud Developer Developer e Architect…in .NET? Dicembre 13th, 2013 #sqlsat264
  • 5. Agenda I’m not alone...:) .NET state of the art A story from a SQL Server Developer Create a DB in a Developer way Two other stories Dicembre 13th, 2013 #sqlsat264
  • 6. From Alessandro and Gian Maria session... There can be more Developer life in your Sql life  ALM (Unit) Testing DB vs. Codice Domain, Code     Dicembre 13th, 2013 #sqlsat264
  • 7. .NET State of the Art Mature environment 2002+ 8 versions Consistent (Server side) pervasive environment Devices, Web (HTML5/CSS3/Javascript) are here to stay Possibility of a scale-out model Data services ASP.NET .NET/WCF Dicembre 13th, 2013 #sqlsat264
  • 8. C# State of the Art Mature and powerful and expressive language Declarative approach is in general correct But it’s not (always) confortable Imperative language Tell how to do it… …not just what you want... …sometimes is faster… Many functional/SQL goodies LINQ Many scalability goodies Parallelism Async Start talking about «cost of manteinance» Not performances Dicembre 13th, 2013 #sqlsat264
  • 9. .NET: where we are .NET 4.5.1 C# 5.0 Visual Studio 2013 ASP.NET (MVC) 5.0: one ASP.NET Entity Framework 6.0 Team Foundation Server (on premise) Visual Studio Online (aka Team Foundation Service cloud) ...and we now have a three week scrum sprint releases MVC 5.1 Visual Studio 2013.1   Dicembre 13th, 2013 #sqlsat264
  • 10. Many good «forgotten» tools Powershell 3.0 SQL Server Data Tools Windows Azure Dicembre 13th, 2013 #sqlsat264
  • 11. Many good «third party» tools ASPOSE.Total 8.5 NoSQL Raven DB Dicembre 13th, 2013 #sqlsat264
  • 12. A story from a SQLServer Developer Dicembre 13th, 2013 #sqlsat264
  • 13. The story is about a CRM Among many others Just change CRM with *  (it’s the same) The story is about a boy… …that is SQL-based (a BI guy!) …that tries to solve all things with SQL Sometimes (I think) he does things «complicated» could be «declarative vs. imperative» programming But this is another story Dicembre 13th, 2013 #sqlsat264
  • 14. Create a DB in a Developer way Remembering #sqlsat176 http://www.slideshare.net/marco.parenzan/sql-server-data-tools15242283 Remembering Gian Maria Ricci’s session  “Database projects strikes back” As a project inside Visual Studio SQL Server Data Tools A «restart» for Database Project… Model based Differential Updates All aspects for SQL Server Database developments Not administration Just Model Also SQL CLR Dicembre 13th, 2013 #sqlsat264
  • 15. A story from a SQLServer Developer: needs I need to do it «@ home»  I need to import data I need to admin data I need to handle data I need to share the data Dicembre 13th, 2013 Start here I need to edit data The only thing I can’t do (?) #sqlsat264
  • 16. A story from a SQLServer Developer: SQL solutions @home Import Data/ETL Management Studio + SQL Stored Procedures Export Data/ETL Dicembre 13th, 2013 Start here ???? Access??? No way! #sqlsat264
  • 17. A story from a SQLServer Developer: solutions Consume .NET inside SQL Server SQL Server Access by System.Data + Libraries Consume Data and SQL Server via Powershell + Libraries SQL Server by Entity Framework 6.0 Expose Data as Data Services Dicembre 13th, 2013 Start here Web Apps with ASP.NET MVC 5.0 The only thing I can’t do (?) #sqlsat264
  • 18. SQL Server Access by System.Data Connected Way The faster way Magic strings Write SQL! Tables/Views/Stored Procedures From the beginning (2002)… …here to stay! Dicembre 13th, 2013 #sqlsat264
  • 19. SQL Server Access from other data Excel Workbooks, Xml, Json Just Import Data? Libraries libraries libraries For exampleASPOSE.Cells Complete implementation of a Excel object model No dependencies from Office Good for Server Side scenarios And other office tools are the same Dicembre 13th, 2013 #sqlsat264
  • 20. Pros & Cons Pros Rich data manipulation Speed of coding (imperative way) Cons Speed of execution    Dicembre 13th, 2013 #sqlsat264
  • 21. SQL Server by Entity Framework 6.0 Programmers love objects Impedance Mismatch (Davide…where are you?) EF 6.0 A step forward Finally, Create/Update/Delete methods mappable on SP! And we can work with ViewModels A modern approach to applications No more «one model for all» Dicembre 13th, 2013 #sqlsat264
  • 22. Pros & Cons Pros Modeling in a more intuitive way Recover speed of execution with store procs Cons Impedance Mismatch (analisys more importat)    Dicembre 13th, 2013 #sqlsat264
  • 23. Web Apps with ASP.NET MVC 5.0 Scaffolding! Scaffolding! Scaffolding! Scaffolding! Scaffolding! Scaffolding! Here I can say it! It’s not a good pattern for Enterprise-grade applications… …but sometime is useful No, I’m not speaking about Javascript, just HTML5 (and CSS3) Your apps will be «nice»  Dicembre 13th, 2013 #sqlsat264
  • 24. Expose Data as Data Services JSON is here to stay Web Services are REST XML is just a Server to Server Scenario BI and Cloud models loves it! Dicembre 13th, 2013 #sqlsat264
  • 25. Pros & Cons Pros Powerful way to express data More control over execution Json and Xml Cons Impedance Mismatch (analisys more importat)     Dicembre 13th, 2013 #sqlsat264
  • 26. Consume Data and SQL Server via Powershell Powershell is the new Command Line How many times did you hear it? Don’t be lazy (me too!) Expressive Verbs-Noun Objects  Metadata Pipelining (functional) Rich imperative language Powershell is entirely .NET Extendable with .NET: CmdLets Dicembre 13th, 2013 #sqlsat264
  • 27. Consume Data and SQL Server with Libraries Why reports only with Reporting Services? Why not a… …word document …excel workbook with graph and pivot …a Powerpoint presentation …a Visio Graph? …Bar codes? Manupulate data for presentation ASPOSE…again I don’t sell ASPOSE… …but I love it! Again: it’s just one of many Dicembre 13th, 2013 #sqlsat264
  • 28. Consume .NET inside SQL Server Host C# (CLR) code inside SQL Server Stored Procedures UDT Access to «all» .NET libraries Just a little bit of dependencies UNSAFE It’s not a real issue Just create another DB Dicembre 13th, 2013 #sqlsat264
  • 29. Two other stories from a Developer POV Dicembre 13th, 2013 #sqlsat264
  • 30. The Cloud is here to stay! Windows Azure is a real opportunity for the .NET Developer I think for ALL developers This year: Scott Guthrie and Mark Russinovick in Azure Team A lot of updates this year! Developer friendly! Dicembre 13th, 2013 #sqlsat264
  • 31. The tools are no more where to start .NET or C# or ASP.NET are not where to start They are not a pillar or a constraint It’s the consequence of an analysis (what we can call «bounded context» in Domain Driven Design – the right choice is for each context) Is the same for SQL Server developer? I think so ALM is important Dicembre 13th, 2013 #sqlsat264
  • 32. ALM is important Analysis SCRUM Team Foundation Server See Alessandro Alpi «Put database under source control» session! Dicembre 13th, 2013 #sqlsat264
  • 34. There were three guys in front of a pizza… …last month! Live confortable with SQL Server… …but don’t look just inside your garden! If you don’t believe me, just try by yourself: I’m not saying use .NET…. …I’m saying «there is .NET» Technology is good because you can fall in love more times… ...at the same time! Dicembre 13th, 2013 #sqlsat264