Upload
marco-parenzan
View
818
Download
1
Embed Size (px)
DESCRIPTION
.NET can be an opportunity for every SQL Server Developer to solve some issues in a non-relational way, expressing what to do in imperative programmer way. Don't look just inside your garden: try .NET and see really if it can be suitable for you
Citation preview
#sqlsat257#sqlsatveronaNovember 9th, 2013
.NET Development for SQL Server Developer
Marco Parenzan
1nn0va
Servizi CGN
#sqlsat257#sqlsatveronaNovember 9th, 2013
Sponsor & Media Partners
#sqlsat257#sqlsatveronaNovember 9th, 2013
Organizers
#sqlsat257#sqlsatveronaNovember 9th, 2013
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?
#sqlsat257#sqlsatveronaNovember 9th, 2013
Agenda
.NET state of the art A story from a SQL Server Developer
Create a DB in a Developer way
Two other stories
#sqlsat257#sqlsatveronaNovember 9th, 2013
.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
#sqlsat257#sqlsatveronaNovember 9th, 2013
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
#sqlsat257#sqlsatveronaNovember 9th, 2013
.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
#sqlsat257#sqlsatveronaNovember 9th, 2013
Many good «forgotten» tools
Powershell 3.0 SQL Server Data Tools Windows Azure
#sqlsat257#sqlsatveronaNovember 9th, 2013
Many good «third party» tools
ASPOSE.Total 8.5 NoSQL
Raven DB
#sqlsat257#sqlsatveronaNovember 9th, 2013
A STORY FROM A SQLSERVER DEVELOPER
#sqlsat257#sqlsatveronaNovember 9th, 2013
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
#sqlsat257#sqlsatveronaNovember 9th, 2013
Create a DB in a Developer way
Remembering #sqlsat176 http://
www.slideshare.net/marco.parenzan/sql-server-data-tools-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
#sqlsat257#sqlsatveronaNovember 9th, 2013
A story from a SQLServer Developer: needs
I need to import data
I need to handle data
I need to edit data
I need to share the
data
I need to admin data
I need to do it «@ home»
Start here
The only thing I can’t do (?)
#sqlsat257#sqlsatveronaNovember 9th, 2013
A story from a SQLServer Developer: SQL solutions
Import Data/ETL
Stored Procedures
????
Access???Export
Data/ETL
Management Studio + SQL
@home Start here
No way!
#sqlsat257#sqlsatveronaNovember 9th, 2013
A story from a SQLServer Developer: solutions
SQL Server Access by
System.Data
+ Libraries
SQL Server by Entity
Framework 6.0
Web Apps with ASP.NET MVC
5.0
Expose Data as Data Services
Consume Data and SQL
Server via Powershell
+ Libraries
Consume .NET inside SQL
ServerStart here
The only thing I can’t do (?)
#sqlsat257#sqlsatveronaNovember 9th, 2013
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!
#sqlsat257#sqlsatveronaNovember 9th, 2013
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
#sqlsat257#sqlsatveronaNovember 9th, 2013
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»
#sqlsat257#sqlsatveronaNovember 9th, 2013
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»
#sqlsat257#sqlsatveronaNovember 9th, 2013
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!
#sqlsat257#sqlsatveronaNovember 9th, 2013
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
#sqlsat257#sqlsatveronaNovember 9th, 2013
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
#sqlsat257#sqlsatveronaNovember 9th, 2013
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
#sqlsat257#sqlsatveronaNovember 9th, 2013
TWO OTHER STORIESFROM A DEVELOPER POV
#sqlsat257#sqlsatveronaNovember 9th, 2013
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!
#sqlsat257#sqlsatveronaNovember 9th, 2013
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
#sqlsat257#sqlsatveronaNovember 9th, 2013
ALM is important
Analysis SCRUM Team Foundation Server See Alessandro Alpi «
Put database under source control» session!
#sqlsat257#sqlsatveronaNovember 9th, 2013
CONCLUSION
#sqlsat257#sqlsatveronaNovember 9th, 2013
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!
#sqlsat257#sqlsatveronaNovember 9th, 2013
THANKS!
#sqlsat257#sqlsatverona
#sqlsat257#sqlsatveronaNovember 9th, 2013
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