The document discusses .NET development options for SQL Server developers. It provides an overview of .NET and C# capabilities and tools. It then tells the story of a SQL Server developer exploring .NET solutions to expand his abilities. These include using Entity Framework, ASP.NET MVC, and accessing SQL Server via libraries. The document encourages SQL developers to look beyond just SQL to leverage the full capabilities of .NET.
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
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
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