Presentation is loading. Please wait.

Presentation is loading. Please wait.

POWERSHELL AND THE WEB PowerShell Summit 2014 Trond Hindenes, Crayon AS

Similar presentations


Presentation on theme: "POWERSHELL AND THE WEB PowerShell Summit 2014 Trond Hindenes, Crayon AS"— Presentation transcript:

1 POWERSHELL AND THE WEB PowerShell Summit 2014 Trond Hindenes, Crayon AS (@trondhindenes)

2 THE IT AUTOMATION PYRAMID IntegrationOrchestration Automation

3 POWERSHELL INTEGRATION MATURITY HTTP API (rest).Net wrapper (dll) PS Module

4 WHY STEP TO THE LEFT? Low quality vendor-supplied CmdLets Lack of functionality

5 TYPES OF WEB SERVICES Generation 1: XML Web Services (SOAP) Stateful (or, acting like they are stateful) Generation 2: RESTful services (JSON/XML) Stateless Good overview at: http://www.developingthefuture.net/web- services-overview/ http://www.developingthefuture.net/web- services-overview/

6 TYPES OF WEB SERVICES (2) SOAP: Access api through methods on the proxy object $citynames = $proxy.LatLonListCityNames(1) REST: Each operation has a URL: http://server/api/customers/fred/orders HTTP DELETE to http://server/api/products/orange

7 AUTHENTICATION GOTCHAS The life of a http request Authentication types: Unauthenticated or IP based Basic/NTLM Token based

8 VISUAL STUDIO LIGHTSWITCH Rapid development of Data-driven applications Can be self-hosted or built as a Sharepoint 2013 app The backend data is served using WCF OData

9 PATTERNS FOR LIGHTSWITCH + POWERSHELL Develop the app Deploy it somewhere Generate proxy dll Use the proxy to interact with the service endpoint

10 EXAMINING THE PROXY DLL Use the VS Object Browser to inspect the dll Or use Ilspy (http://ilspy.net/)

11 POWERSHELL AND RESTFUL SERVICES WITH JSON AKA INVOKE-RESTMETHOD JSON – Javascript Object Notation Human readable objects Similar to XML, but lighter weight (XML is wire-heavy) Construct Object Convert to Json Send to server Get stuff back

12 REST GOTCHAS Everything is a PsCustomObject No.gettype() Each request is atomic No state API examples often use curl Important differences between PowerShell and curl (authentication) Be mindful of JSON syntax You'll often end up with lots of "nested" objects

13 GENERATING PROPER OBJECTS New-Struct to the rescue (http://powershellcommunity.poshcode.org/3146)

14 ASP.NET MVC/WEB API General-purpose web app framework for building stuff Scott Guthries brainchild Web API is a flexible framework for building (among others) RESTful web services Natively supports both JSON and xml

15 CASE: HOSTED MAIL FLOW MONITORING

16 FUN WITH WEB SpamTitan (super-simple XML/Rest) Geckoboard (complex json) PagerDuty (simple json)

17 THANK YOU!


Download ppt "POWERSHELL AND THE WEB PowerShell Summit 2014 Trond Hindenes, Crayon AS"

Similar presentations


Ads by Google