Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Digging deeper into service stack


Published on

ServiceStack is probably best known for its simple approach to write webservices, no matter if it is the REST-way or anything else. Have you looked what come in the package besides just the services? There are allot of tools that could help you developments get even faster. Getting tired of big ORMs, well there is OrmLite for several different databases, besides dataaccess there are several other goodies that comes along. From dataaccess, logging to caching there are plenty of helpful things that integrate straight into ServiceStack.

This session will dig deeper into what the different packages can solve for you, and how they are used…of course it is impossible to get deep into all of them, but you will see how to get going in different areas.

Published in: Technology
  • Be the first to comment

Digging deeper into service stack

  1. 1. There is more than just easywebservices
  2. 2. All the boring stuff you will forget after the slides have passed
  3. 3. • 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
  4. 4. Is it needed? Does it solve anything?
  5. 5. • 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!
  6. 6. • 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
  7. 7. This is where the most wheels are turning in your development
  8. 8. • IService• Service• And a lot more…
  9. 9. • Conventionbased registrations• Throw exceptions and have magic httpstatuscodes• Strong typed returns• It’s more than CRUD • PATCH etc.• Restrict access to your services
  10. 10. • JSON• Xml• JSV• CSV• SOAP • 1.1 • 1.2• Custom
  11. 11. • Funq• OrmLite• ICacheClient• MiniProfiler• Validation• Custom responses• Headers
  12. 12. • It’s dead simple• Fullfills the basic needs• It’s fast• If you don’t like …add an adaptor
  13. 13. • Do you really need EF?• Do you trust your developers to know SQL?• Want to get closer to the server?• Pragmatic over academic
  14. 14. • You added caching so now you have more problems• Cachekey generation• It’s so darn hard!!!
  15. 15. • Estimates and guesses leaves you nowhere• Easy to give response to the average Joe• Thank you mr. Saffron and Dixon• Don’t reinvent the wheel!!!
  16. 16. • if( request.Id != default(int) ) • It’s getting boring!• Leverage the same validation in several places• Fine grain it where needed
  17. 17. • If you want another content type• If you need to return an image• If you want to be a joker?
  18. 18. • CORS • Please don’t use AddHeader• If you want to you can do it• Location• …Link? • Not sure you want to go that way ;)
  19. 19. …unless you want to go all JS on me :)
  20. 20. • 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
  21. 21. If you order now you will get … for only $19.99
  22. 22. • OrmLite • Caching • MySQL • Memcached • PostgreSQL • Azure • Sqlite 32 & Sqlite 64 • Protobuf • Firebird • MessagePack • Oracle • Logging• Authentication • NLog • MongoDB • Log4Net • Nhibernate • ELMAH • OpenId • Eventlog • RavenDB • Swagger• Razor
  23. 23. Grab your whiskies and smile
  24. 24. • Fastest JSON serializer• Burning Monk JSON Benchmarks (19/11/2012)
  25. 25. • 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
  26. 26. Hetzner Windows Azure• 2.67 GHZ • 1.67 GHZ• 2GB RAM • 1.75GB RAM• 80GB HDD • 100GB HDD• 4TB Traffic • 2TB Traffic• €19.90 • €219.50• €238.80 • €2634
  27. 27. Well where I am going I don’t need roads!!!
  28. 28. • Source:• Wiki:• More docs:• Community resources: unity-Resources• Links to InfoQ articles:
  29. 29. • 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
  30. 30. • Twitter: @cyberzeddk• LinkedIn:• Blog:• Email:• GitHub:• Tutorials will be published soon at Tech.Pro• Book will be started of as an OS project this yearFeel free to contact me with any questions, or if you wantme to come talk more about ServiceStack