36
#sqlsat257 #sqlsatverona #sqlsat264 .NET Development for SQL Server Developer Marco Parenzan 1nn0va Servizi CGN

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

Embed Size (px)

DESCRIPTION

How can .NET contribute to the daily work of a SQL Server developer? In many ways....

Citation preview

Page 1: NET Development for SQL Server Developer - Sql Saturday #264 Ancona

#sqlsat257#sqlsatverona#sqlsat264

.NET Development for SQL Server Developer

Marco Parenzan

1nn0vaServizi CGN

Page 2: NET Development for SQL Server Developer - Sql Saturday #264 Ancona

#sqlsat264Dicembre 13th, 2013

Sponsors & Media Partners

Page 3: NET Development for SQL Server Developer - Sql Saturday #264 Ancona

#sqlsat264Dicembre 13th, 2013

Organizers

Page 4: NET Development for SQL Server Developer - Sql Saturday #264 Ancona

#sqlsat264Dicembre 13th, 2013

About meFormazione & Innovazione con Servizi CGNFormazione & Divulgazione con 1nn0va

@marco_parenzanit.linkedin.com/in/marcoparenzanwww.facebook.com/parenzan.marcocodeisvalue.wordpress.comwww.marcoparenzan.itwww.slideshare.net/marco.parenzangithub.com/marcoparenzanmarco [dot] parenzan [at] libero/live [dot] it

(Tentative of) Cloud DeveloperDeveloper e Architect…in .NET?

Page 5: NET Development for SQL Server Developer - Sql Saturday #264 Ancona

#sqlsat264Dicembre 13th, 2013

Agenda

I’m not alone...:).NET state of the artA story from a SQL Server Developer

Create a DB in a Developer wayTwo other stories

Page 6: NET Development for SQL Server Developer - Sql Saturday #264 Ancona

#sqlsat264Dicembre 13th, 2013

From Alessandro and Gian Maria session...

There can be more Developer life in your Sql life

ALM (Unit) Testing

DB vs. Codice Domain, Code

Page 7: NET Development for SQL Server Developer - Sql Saturday #264 Ancona

#sqlsat264Dicembre 13th, 2013

.NET State of the Art

Mature environment 2002+ 8 versions Consistent

(Server side) pervasive environmentDevices, Web (HTML5/CSS3/Javascript) are here to stayPossibility of a scale-out model

Data services ASP.NET .NET/WCF

Page 8: NET Development for SQL Server Developer - Sql Saturday #264 Ancona

#sqlsat264Dicembre 13th, 2013

C# State of the Art

Mature and powerful and expressive languageDeclarative approach is in general correct

But it’s not (always) confortableImperative 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

Page 9: NET Development for SQL Server Developer - Sql Saturday #264 Ancona

#sqlsat264Dicembre 13th, 2013

.NET: where we are

.NET 4.5.1C# 5.0Visual Studio 2013ASP.NET (MVC) 5.0: one ASP.NETEntity Framework 6.0Team 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

Page 10: NET Development for SQL Server Developer - Sql Saturday #264 Ancona

#sqlsat264Dicembre 13th, 2013

Many good «forgotten» tools

Powershell 3.0SQL Server Data ToolsWindows Azure

Page 11: NET Development for SQL Server Developer - Sql Saturday #264 Ancona

#sqlsat264Dicembre 13th, 2013

Many good «third party» tools

ASPOSE.Total 8.5NoSQL

Raven DB

Page 12: NET Development for SQL Server Developer - Sql Saturday #264 Ancona

#sqlsat264Dicembre 13th, 2013

A story from a SQLServer Developer

Page 13: NET Development for SQL Server Developer - Sql Saturday #264 Ancona

#sqlsat264Dicembre 13th, 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

Page 14: NET Development for SQL Server Developer - Sql Saturday #264 Ancona

#sqlsat264Dicembre 13th, 2013

Create a DB in a Developer way

Remembering #sqlsat176 http://www.slideshare.net/marco.parenzan/sql-server-data-tools-15242283 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 basedDifferential UpdatesAll aspects for SQL Server Database developments

Not administration Just Model Also SQL CLR

Page 15: NET Development for SQL Server Developer - Sql Saturday #264 Ancona

#sqlsat264Dicembre 13th, 2013

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»

A story from a SQLServer Developer: needs

Start here

The only thing I can’t do (?)

Page 16: NET Development for SQL Server Developer - Sql Saturday #264 Ancona

#sqlsat264Dicembre 13th, 2013

Import Data/ETL

Stored Procedures

????Access???

Export Data/ETL

Management Studio + SQL

@home

A story from a SQLServer Developer: SQL solutions

Start here

No way!

Page 17: NET Development for SQL Server Developer - Sql Saturday #264 Ancona

#sqlsat264Dicembre 13th, 2013

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

Server

A story from a SQLServer Developer: solutions

Start here

The only thing I can’t do (?)

Page 18: NET Development for SQL Server Developer - Sql Saturday #264 Ancona

#sqlsat264Dicembre 13th, 2013

SQL Server Access by System.Data

Connected WayThe faster wayMagic strings

Write SQL! Tables/Views/Stored Procedures

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

Page 19: NET Development for SQL Server Developer - Sql Saturday #264 Ancona

#sqlsat264Dicembre 13th, 2013

SQL Server Access from other data

Excel Workbooks, Xml, Json Just Import Data?

Libraries libraries librariesFor 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

Page 20: NET Development for SQL Server Developer - Sql Saturday #264 Ancona

#sqlsat264Dicembre 13th, 2013

Pros & Cons

Pros Rich data manipulation Speed of coding (imperative way)

Cons Speed of execution

Page 21: NET Development for SQL Server Developer - Sql Saturday #264 Ancona

#sqlsat264Dicembre 13th, 2013

SQL Server by Entity Framework 6.0

Programmers love objectsImpedance 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»

Page 22: NET Development for SQL Server Developer - Sql Saturday #264 Ancona

#sqlsat264Dicembre 13th, 2013

Pros & Cons

Pros Modeling in a more intuitive way Recover speed of execution with store procs

Cons Impedance Mismatch (analisys more

importat)

Page 23: NET Development for SQL Server Developer - Sql Saturday #264 Ancona

#sqlsat264Dicembre 13th, 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 usefulNo, I’m not speaking about Javascript, just HTML5 (and CSS3)

Your apps will be «nice»

Page 24: NET Development for SQL Server Developer - Sql Saturday #264 Ancona

#sqlsat264Dicembre 13th, 2013

Expose Data as Data Services

JSON is here to stayWeb Services are REST

XML is just a Server to Server ScenarioBI and Cloud models loves it!

Page 25: NET Development for SQL Server Developer - Sql Saturday #264 Ancona

#sqlsat264Dicembre 13th, 2013

Pros & Cons

Pros Powerful way to express data More control over execution Json and Xml

Cons Impedance Mismatch (analisys more

importat)

Page 26: NET Development for SQL Server Developer - Sql Saturday #264 Ancona

#sqlsat264Dicembre 13th, 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

Page 27: NET Development for SQL Server Developer - Sql Saturday #264 Ancona

#sqlsat264Dicembre 13th, 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 presentationASPOSE…again

I don’t sell ASPOSE… …but I love it!

Again: it’s just one of many

Page 28: NET Development for SQL Server Developer - Sql Saturday #264 Ancona

#sqlsat264Dicembre 13th, 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

Page 29: NET Development for SQL Server Developer - Sql Saturday #264 Ancona

#sqlsat264Dicembre 13th, 2013

Two other storiesfrom a Developer POV

Page 30: NET Development for SQL Server Developer - Sql Saturday #264 Ancona

#sqlsat264Dicembre 13th, 2013

The Cloud is here to stay!

Windows Azure is a real opportunity for the .NET Developer

I think for ALL developersThis year:

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

Page 31: NET Development for SQL Server Developer - Sql Saturday #264 Ancona

#sqlsat264Dicembre 13th, 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

Page 32: NET Development for SQL Server Developer - Sql Saturday #264 Ancona

#sqlsat264Dicembre 13th, 2013

ALM is important

AnalysisSCRUMTeam Foundation ServerSee Alessandro Alpi «Put database under source control» session!

Page 33: NET Development for SQL Server Developer - Sql Saturday #264 Ancona

#sqlsat264Dicembre 13th, 2013

CONCLUSION

Page 34: NET Development for SQL Server Developer - Sql Saturday #264 Ancona

#sqlsat264Dicembre 13th, 2013

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!

Page 35: NET Development for SQL Server Developer - Sql Saturday #264 Ancona

#sqlsat264Dicembre 13th, 2013

Thanks!

#sqlsat264

Page 36: NET Development for SQL Server Developer - Sql Saturday #264 Ancona

#sqlsat264Dicembre 13th, 2013

Q&A

@marco_parenzanit.linkedin.com/in/marcoparenzanwww.facebook.com/parenzan.marcocodeisvalue.wordpress.comwww.marcoparenzan.itwww.slideshare.net/marco.parenzangithub.com/marcoparenzanmarco [dot] parenzan [at] libero/live [dot] it