32
#sqlsat257 #sqlsatverona November 9 th , 2013 .NET Development for SQL Server Developer Marco Parenzan 1nn0va Servizi CGN

NET Development for SQL Server Developer

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

Page 1: NET Development for SQL Server Developer

#sqlsat257#sqlsatveronaNovember 9th, 2013

.NET Development for SQL Server Developer

Marco Parenzan

1nn0va

Servizi CGN

Page 2: NET Development for SQL Server Developer

#sqlsat257#sqlsatveronaNovember 9th, 2013

Sponsor & Media Partners

Page 3: NET Development for SQL Server Developer

#sqlsat257#sqlsatveronaNovember 9th, 2013

Organizers

Page 4: NET Development for SQL Server Developer

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

Page 5: NET Development for SQL Server Developer

#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

Page 6: NET Development for SQL Server Developer

#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

Page 7: NET Development for SQL Server Developer

#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

Page 8: NET Development for SQL Server Developer

#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

Page 9: NET Development for SQL Server Developer

#sqlsat257#sqlsatveronaNovember 9th, 2013

Many good «forgotten» tools

Powershell 3.0 SQL Server Data Tools Windows Azure

Page 10: NET Development for SQL Server Developer

#sqlsat257#sqlsatveronaNovember 9th, 2013

Many good «third party» tools

ASPOSE.Total 8.5 NoSQL

Raven DB

Page 11: NET Development for SQL Server Developer

#sqlsat257#sqlsatveronaNovember 9th, 2013

A STORY FROM A SQLSERVER DEVELOPER

Page 12: NET Development for SQL Server 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

Page 13: NET Development for SQL Server Developer

#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

Page 14: NET Development for SQL Server Developer

#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 (?)

Page 15: NET Development for SQL Server Developer

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

Page 16: NET Development for SQL Server Developer

#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 (?)

Page 17: NET Development for SQL Server Developer

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

Page 18: NET Development for SQL Server Developer

#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

Page 19: NET Development for SQL Server Developer

#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»

Page 20: NET Development for SQL Server Developer

#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»

Page 21: NET Development for SQL Server Developer

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

Page 22: NET Development for SQL Server Developer

#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

Page 23: NET Development for SQL Server Developer

#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

Page 24: NET Development for SQL Server Developer

#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

Page 25: NET Development for SQL Server Developer

#sqlsat257#sqlsatveronaNovember 9th, 2013

TWO OTHER STORIESFROM A DEVELOPER POV

Page 26: NET Development for SQL Server Developer

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

Page 27: NET Development for SQL Server Developer

#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

Page 28: NET Development for SQL Server Developer

#sqlsat257#sqlsatveronaNovember 9th, 2013

ALM is important

Analysis SCRUM Team Foundation Server See Alessandro Alpi «

Put database under source control» session!

Page 29: NET Development for SQL Server Developer

#sqlsat257#sqlsatveronaNovember 9th, 2013

CONCLUSION

Page 30: NET Development for SQL Server Developer

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

Page 31: NET Development for SQL Server Developer

#sqlsat257#sqlsatveronaNovember 9th, 2013

THANKS!

#sqlsat257#sqlsatverona

Page 32: NET Development for SQL Server Developer

#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