SlideShare a Scribd company logo
1 of 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

More Related Content

Similar to .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 to .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
 

More from 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
 

More from 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
 

Recently uploaded

Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
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
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
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
 
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
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
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
 
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
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 

Recently uploaded (20)

Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
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
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
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
 
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
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
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
 
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
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 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
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 

.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