NET Development for SQL Server Developer

Preview:

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

Recommended