service stack all the things

Post on 11-May-2015

1.565 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

Slides from the ServiceStack ALL THE THINGS! Code can be found at https://github.com/cyberzed/ServiceStack_Intro

TRANSCRIPT

ServiceStackALL THE THINGS!!!

All the boring stuff you will forget after the slides have passed

Who, where, what?

Why am I here…• Stefan Daugaard Poulsen• @cyberzeddk• AP in Computer Science• Developer/Architect at Atea Denmark• Currently working on Atea Tele

• .NET developer since 2002• Silverlight developer back in 2011 with high use of

WCF• “Caught” in a discussion about webservices in

November 2011• Got annoyed by RPC style, code-gen webservices

Is it needed? Does it solve anything?

Why is ServiceStack interresting?

What are bad ideas for webservices• Code-gen• It fails…too often

• Archaic Xml configuration• Distribution, misspelling…or even horrible merges

• Defaults that is bound to make you cry• Why do I need to set values that should be default!

• Fixed serialization• Could be nice to talk to more systems no matter who they are

• RPC style services• Maintenance hell

• Chatty services• Bulk it!

What is this ServiceStack thing• Official subtitle:• Web Services done right, REST services done easy :)

• Simple and model-driven• Endpoint ignorant• Authentication built-in• IoC based• Easy access to HTTP• Fast as lightning• Cross platform• Extendable• Oh!... And clients are in the box

Sit back, grab your coffee…code is imminent

This is where all the blah blah stops

Unboxing from NuGet

Currently• ServiceStack• ServiceStack.Text (Serializers: JSON, JSV, CSV)• ServiceStack.Common• ServiceStack.Redis (Fastest Redis client)• ServiceStack.OrmList.SqlServer (Micro ORM, POCO based

ofcourse)

My wishlist:• ServiceStack• ServiceStack.Text• ServiceStack.Common

This is where the most wheels are turning in your development

Seen from the serverside

Gentlemen, start your engines…• IService• Service• And a lot more…

Endpoint ignorant• JSON• Xml• JSV• CSV• SOAP• 1.1• 1.2

• Custom

…unless you want to go all JS on me :)

Welcome to the clientside

Clients• Client interfaces• IServiceClient• IRestClient• IRestClientAsync

• Implementations• Soap11ServiceClient (only for IServiceClient)• Soap12ServiceClient (only for IServiceClient)• JsonServiceClient(Async)• JsvServiceClient(Async)• XmlServiceClient(Async)

• Or you can hookup to the XSDs or WSDLs as well• Might be handy when delivering services to external

partners

If you order now you will get … for only $19.99

But that’s not all kids…

It’s a freaking swiss army knife!!!• OrmLite• MySQL• PostgreSQL• Sqlite 32 & Sqlite 64• Firebird• Oracle

• Authentication• MongoDB• Nhibernate• OpenId• RavenDB

• Razor

• Caching• Memcached• Azure

• Protobuf• MessagePack• Logging• NLog• Log4Net• ELMAH• Eventlog

• Swagger

Show off time…Grab your whiskies and smile

I’m in the need for speed!• Fastest JSON serializer• Burning Monk JSON Benchmarks (19/11/2012)

Crossplatform• Supports ASP.NET and HttpListener hosts• Runs on Windows with .NET 3.5 and 4.0• IIS 5/6/7 (uses IHttpHandler)• VS.NET WebDev Server (Cassini)• IIS Express• Console App, Windows Gui, Windows Service

• Linux/OSX with Mono• Apache + mod_mono• Nginx + MonoFastCGI• XSP• Console App

• A demo have been done inside iOS with MonoTouch

Where do we go next?Well where I am going I don’t need roads!!!

Where is it hidden?• Source: https://github.com/ServiceStack• Wiki:

https://github.com/ServiceStack/ServiceStack/wiki• More docs: http://www.servicestack.net/docs/

• Community resources: https://github.com/ServiceStack/ServiceStack/wiki/Community-Resources

• Links to InfoQ articles: http://www.servicestack.net/mythz_blog/?p=860

Who’s behind this thing…and do I dare use it for production

• Main contributor: Demis Bellot (@demisbellot)• Currently creating awesomeness at StackExchange

• It’s been around for a while• First commit Dec 21, 2008• It is well maintained• Currently at version 3.9.37• Jun 6 2012 – 3.9.2• Jan 8 2012 – 3.2.0• Jun 11 2011 – 2.2.0

That’s all folks• Twitter: @cyberzeddk• Blog: http://cyberzed.dk• Email: cyberzed@sleddog.dk• GitHub: http://github.com/cyberzed/

Feel free to contact me with any questions

top related