SlideShare a Scribd company logo
1 of 32
.NET Development
for SQL Server Developer
Marco Parenzan

1nn0va
Servizi CGN

November 9th, 2013

#sqlsat257
#sqlsatverona
Sponsor & Media Partners

November 9th, 2013

#sqlsat257
#sqlsatverona
Organizers

November 9th, 2013

#sqlsat257
#sqlsatverona
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?

November 9th, 2013

#sqlsat257
#sqlsatverona
Agenda
 .NET state of the art
 A story from a SQL Server Developer
 Create a DB in a Developer way

 Two other stories

November 9th, 2013

#sqlsat257
#sqlsatverona
.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

November 9th, 2013

#sqlsat257
#sqlsatverona
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

November 9th, 2013

#sqlsat257
#sqlsatverona
.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

November 9th, 2013

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

November 9th, 2013

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

November 9th, 2013

#sqlsat257
#sqlsatverona
A STORY FROM A SQLSERVER
DEVELOPER
November 9th, 2013

#sqlsat257
#sqlsatverona
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
November 9th, 2013

#sqlsat257
#sqlsatverona
Create a DB in a Developer way
 Remembering #sqlsat176
 http://www.slideshare.net/marco.parenzan/sql-server-datatools-15242283

 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

November 9th, 2013

#sqlsat257
#sqlsatverona
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

November 9th, 2013

Start here

I need to
edit data

The only thing I can’t do (?)

#sqlsat257
#sqlsatverona
A story from a SQLServer Developer: SQL solutions

@home

Import
Data/ETL

Management
Studio + SQL

Stored
Procedures

Export
Data/ETL

November 9th, 2013

Start here

????
Access???

No way!

#sqlsat257
#sqlsatverona
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

November 9th, 2013

Start here

Web Apps with
ASP.NET
MVC 5.0

The only thing I can’t do (?)

#sqlsat257
#sqlsatverona
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!

November 9th, 2013

#sqlsat257
#sqlsatverona
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
November 9th, 2013

#sqlsat257
#sqlsatverona
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»
November 9th, 2013

#sqlsat257
#sqlsatverona
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» 
November 9th, 2013

#sqlsat257
#sqlsatverona
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!

November 9th, 2013

#sqlsat257
#sqlsatverona
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

November 9th, 2013

#sqlsat257
#sqlsatverona
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
November 9th, 2013

#sqlsat257
#sqlsatverona
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

November 9th, 2013

#sqlsat257
#sqlsatverona
TWO OTHER STORIES
FROM A DEVELOPER POV
November 9th, 2013

#sqlsat257
#sqlsatverona
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!

November 9th, 2013

#sqlsat257
#sqlsatverona
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
November 9th, 2013

#sqlsat257
#sqlsatverona
ALM is important





Analysis
SCRUM
Team Foundation Server
See Alessandro Alpi «Put database under
source control» session!

November 9th, 2013

#sqlsat257
#sqlsatverona
CONCLUSION

November 9th, 2013

#sqlsat257
#sqlsatverona
There were three guys in front of a pizza…





…yesterday evening!
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!
November 9th, 2013

#sqlsat257
#sqlsatverona
#sqlsat257
#sqlsatverona

THANKS!

November 9th, 2013

#sqlsat257
#sqlsatverona
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

November 9th, 2013

#sqlsat257
#sqlsatverona

More Related Content

Viewers also liked

Microsoft sql server architecture
Microsoft sql server architectureMicrosoft sql server architecture
Microsoft sql server architecture
Naveen Boda
 

Viewers also liked (8)

2009/11 Database Architechs Presentation
2009/11   Database Architechs Presentation2009/11   Database Architechs Presentation
2009/11 Database Architechs Presentation
 
Declarative Database Development with SQL Server Data Tools
Declarative Database Development with SQL Server Data ToolsDeclarative Database Development with SQL Server Data Tools
Declarative Database Development with SQL Server Data Tools
 
SQL Server Reporting Services 2008
SQL Server Reporting Services 2008SQL Server Reporting Services 2008
SQL Server Reporting Services 2008
 
Microsoft sql server architecture
Microsoft sql server architectureMicrosoft sql server architecture
Microsoft sql server architecture
 
Physical architecture of sql server
Physical architecture of sql serverPhysical architecture of sql server
Physical architecture of sql server
 
Sql server basics
Sql server basicsSql server basics
Sql server basics
 
MS-SQL SERVER ARCHITECTURE
MS-SQL SERVER ARCHITECTUREMS-SQL SERVER ARCHITECTURE
MS-SQL SERVER ARCHITECTURE
 
Ms sql server architecture
Ms sql server architectureMs sql server architecture
Ms sql server architecture
 

Similar to .NET Development for SQL Server Developer

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
All Things Open
 
NWCloud Cloud Track - Overview of Cloud Computing and Windows Azure 101
NWCloud Cloud Track - Overview of Cloud Computing and Windows Azure 101NWCloud Cloud Track - Overview of Cloud Computing and Windows Azure 101
NWCloud Cloud Track - Overview of Cloud Computing and Windows Azure 101
nwcloud
 
Microsoft Webday 2008 - Silverlight Experiences
Microsoft Webday 2008 - Silverlight ExperiencesMicrosoft Webday 2008 - Silverlight Experiences
Microsoft Webday 2008 - Silverlight Experiences
Nicklas Andersson
 

Similar to .NET Development for SQL Server Developer (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
 
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
 
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
 
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
 
Scala services in action
Scala services in actionScala services in action
Scala services in action
 
The Modern Java Web Developer Bootcamp - Devoxx 2013
The Modern Java Web Developer Bootcamp - Devoxx 2013The Modern Java Web Developer Bootcamp - Devoxx 2013
The Modern Java Web Developer Bootcamp - Devoxx 2013
 
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
 
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...
 
Getting CI right for SQL Server
Getting CI right for SQL ServerGetting CI right for SQL Server
Getting CI right for SQL Server
 
USQ Landdemos Azure Data Lake
USQ Landdemos Azure Data LakeUSQ Landdemos Azure Data Lake
USQ Landdemos Azure Data Lake
 
Mvp4 croatia - Being a dba in a devops world
Mvp4 croatia - Being a dba in a devops worldMvp4 croatia - Being a dba in a devops world
Mvp4 croatia - Being a dba in a devops world
 
CSS3 and a brief introduction to Google Maps API v3
CSS3 and a brief introduction to Google Maps API v3 CSS3 and a brief introduction to Google Maps API v3
CSS3 and a brief introduction to Google Maps API v3
 
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
 
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...
 
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
 
Azure Weekly - 2015.01.20 - Marco Parenzan - Data Opportunities with Azure
Azure Weekly - 2015.01.20 - Marco Parenzan - Data Opportunities with AzureAzure Weekly - 2015.01.20 - Marco Parenzan - Data Opportunities with Azure
Azure Weekly - 2015.01.20 - Marco Parenzan - Data Opportunities with Azure
 
NWCloud Cloud Track - Overview of Cloud Computing and Windows Azure 101
NWCloud Cloud Track - Overview of Cloud Computing and Windows Azure 101NWCloud Cloud Track - Overview of Cloud Computing and Windows Azure 101
NWCloud Cloud Track - Overview of Cloud Computing and Windows Azure 101
 
Introduction To Cloud Computing Winsows Azure101
Introduction To Cloud Computing Winsows Azure101Introduction To Cloud Computing Winsows Azure101
Introduction To Cloud Computing Winsows Azure101
 
Microsoft Webday 2008 - Silverlight Experiences
Microsoft Webday 2008 - Silverlight ExperiencesMicrosoft Webday 2008 - Silverlight Experiences
Microsoft Webday 2008 - Silverlight Experiences
 

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

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

.NET Development for SQL Server Developer

  • 1. .NET Development for SQL Server Developer Marco Parenzan 1nn0va Servizi CGN November 9th, 2013 #sqlsat257 #sqlsatverona
  • 2. Sponsor & Media Partners November 9th, 2013 #sqlsat257 #sqlsatverona
  • 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? November 9th, 2013 #sqlsat257 #sqlsatverona
  • 5. Agenda  .NET state of the art  A story from a SQL Server Developer  Create a DB in a Developer way  Two other stories November 9th, 2013 #sqlsat257 #sqlsatverona
  • 6. .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 November 9th, 2013 #sqlsat257 #sqlsatverona
  • 7. 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 November 9th, 2013 #sqlsat257 #sqlsatverona
  • 8. .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 November 9th, 2013 #sqlsat257 #sqlsatverona
  • 9. Many good «forgotten» tools  Powershell 3.0  SQL Server Data Tools  Windows Azure November 9th, 2013 #sqlsat257 #sqlsatverona
  • 10. Many good «third party» tools  ASPOSE.Total 8.5  NoSQL  Raven DB November 9th, 2013 #sqlsat257 #sqlsatverona
  • 11. A STORY FROM A SQLSERVER DEVELOPER November 9th, 2013 #sqlsat257 #sqlsatverona
  • 12. 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 November 9th, 2013 #sqlsat257 #sqlsatverona
  • 13. Create a DB in a Developer way  Remembering #sqlsat176  http://www.slideshare.net/marco.parenzan/sql-server-datatools-15242283  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 November 9th, 2013 #sqlsat257 #sqlsatverona
  • 14. 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 November 9th, 2013 Start here I need to edit data The only thing I can’t do (?) #sqlsat257 #sqlsatverona
  • 15. A story from a SQLServer Developer: SQL solutions @home Import Data/ETL Management Studio + SQL Stored Procedures Export Data/ETL November 9th, 2013 Start here ???? Access??? No way! #sqlsat257 #sqlsatverona
  • 16. 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 November 9th, 2013 Start here Web Apps with ASP.NET MVC 5.0 The only thing I can’t do (?) #sqlsat257 #sqlsatverona
  • 17. 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! November 9th, 2013 #sqlsat257 #sqlsatverona
  • 18. 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 November 9th, 2013 #sqlsat257 #sqlsatverona
  • 19. 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» November 9th, 2013 #sqlsat257 #sqlsatverona
  • 20. 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»  November 9th, 2013 #sqlsat257 #sqlsatverona
  • 21. 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! November 9th, 2013 #sqlsat257 #sqlsatverona
  • 22. 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 November 9th, 2013 #sqlsat257 #sqlsatverona
  • 23. 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 November 9th, 2013 #sqlsat257 #sqlsatverona
  • 24. 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 November 9th, 2013 #sqlsat257 #sqlsatverona
  • 25. TWO OTHER STORIES FROM A DEVELOPER POV November 9th, 2013 #sqlsat257 #sqlsatverona
  • 26. 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! November 9th, 2013 #sqlsat257 #sqlsatverona
  • 27. 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 November 9th, 2013 #sqlsat257 #sqlsatverona
  • 28. ALM is important     Analysis SCRUM Team Foundation Server See Alessandro Alpi «Put database under source control» session! November 9th, 2013 #sqlsat257 #sqlsatverona
  • 30. There were three guys in front of a pizza…     …yesterday evening! 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! November 9th, 2013 #sqlsat257 #sqlsatverona