Visual Studio 2017 - Cloud Security Keeping your data secure and legal - Grey Matter

Page created by Laura Mccoy
 
CONTINUE READING
Visual Studio 2017 - Cloud Security Keeping your data secure and legal - Grey Matter
Grey Matter                                       Issue 71 | Spring 2017

Building on 34 years of software know how

Visual Studio 2017
All you need to deliver any app on any platform

Cloud Security
Keeping your data secure and legal
                                                               WIN!
Lifecycle Management
                                                               See page 8
                                                               for details

How Visual Studio 2017 can help with ALM
Visual Studio 2017 - Cloud Security Keeping your data secure and legal - Grey Matter
Visual Studio 2017 - Cloud Security Keeping your data secure and legal - Grey Matter
Contents
Editorial
Editor:...................................................................... Matt Nicholson
Technical editors:... Sean Wilson, Paul Edwards
Editorial advisor:............................................. Julia Hopkins
News editor:....................................................... Paul Stephens
Publisher:................................................................... Andrew King
Contributors:......... Tim Anderson, Simon Bisson,
                Mary Branscombe, Kay Ewbank, Jon
     Honeyball, Graham Keitch, Paul Stephens
Design and layout:...................................... Jason Stanley
                                                                                                 10       Visual Studio 2017
                                                                                                          The latest version of Microsoft’s flagship                       22     Security in the cloud
                                                                                                                                                                                  How to stay secure and legal when
Illustration:.............................................................Sholto Walker                   development suite.                                                      you’re operating in the cloud.
Web Design:......................................................... Jason Stanley

Advertising & Circulation
Marketing:............................................................. Leanne Bevan
                                                                                               Welcome                                                                        4 Software News
                                                                                                                                                                                GrapeCity, Intel, Microsoft, Redgate,
                                                                                               Security and privacy are two sides of a coin that has long bugged                 Trimble and more.
01364 654100
                                                                                               our society. On the one hand most of us consider that we have a
marketing@hardcopymag.com

HardCopy is edited for Grey Matter three
                                                                                               right to a private life, and indeed Article 12 of the Universal
                                                                                               Declaration of Human Rights explicitly states that “No-one shall be
                                                                                                                                                                              6 News  in brief
                                                                                                                                                                                and the latest competition winner.
times a year by Matt Publishing. It is printed
                                                                                               subjected to arbitrary interference with his privacy, family, home or
by Pepper Communications in Plymouth.
                                                                                               correspondence, nor to attacks upon his honor and reputation.”
Copyright © 2017 Grey Matter Ltd. All rights
reserved. No part of this publication may be
                                                                                               The right is implicit in the American Constitution, while Article 8 of
                                                                                               the European Convention on Human Rights is more pragmatic in
                                                                                                                                                                              8 Competition
                                                                                                                                                                                Win an Amazon Echo!
reproduced in any form without prior
consent of the copyright holder.                                                               that, though explicitly stated, the right is moderated by the needs
       All trademarks acknowledged.                                                            of a “democratic society” with regards to national security and
HardCopy is a trademark and Grey Matter a
registered trademark owned by Grey Matter
                                                                                               crime prevention. Perhaps unsurprisingly, the situation in the UK is
                                                                                               less clear, particularly since the fiasco that is the Investigatory
                                                                                                                                                                            17 Managing  the application lifestyle
                                                                                                                                                                               Simon Bisson finds out whether Visual
Limited. While all reasonable attempts are
                                                                                                                                                                                 Studio 2017 can help with ALM.
made to ensure accuracy, Grey Matter and                                                       Powers Act 2016 (aka the ‘Snooper’s Charter’).
Matt Publishing disclaim any liability
                                                                                                     In practice there has always been some give-and-take. We

                                                                                                                                                                            26 Intel
whatsoever for any use of information
                                                                                               have accepted since the 1920s that our security services can                          AI Day
herein. Prices exclude VAT unless specified.
                                                                                               intercept private telephone conversations once they have                        Kay Ewbank investigates Intel’s recent
Cover Images: Jason Stanley                                                                                                                                                      excursions into Artificial Intelligence.
                                                                                               obtained a warrant, while the police have been able to search a
		 totallypic/Shutterstock
		 ProStockStudio/Shutterstock                                                                 private property on production of a warrant for several centuries
                                                                                               now. However, modern technology has upset the apple cart. These
                                                                                               days most of us happily sign away our privacy with a single click
                                                                                                                                                                            29 Inside Data
                                                                                                                                                                               Graham Keitch looks at the importance
                                                                                                                                                                                 of Data Lifecycle Management.
Advertisers Index                                                                              and a resigned acceptance of the implications.
2                  Azure                                                                             Some take the attitude that privacy is only of concern if you
7                  Office 365                                                                  have something to hide, or go along with Scott McNealy of Sun                30 Straight talking
                                                                                                                                                                               Are you still using Visual Basic? Tim
9                  Barracuda                                                                   Microsystems when he said: “You have zero privacy anyway - get                    Anderson suggests it’s time you switch.
12                 Embarcadero                                                                 over it.” However even they would be reluctant to hand out their
15                 Intel Parallel Studio XE                                                    credit card details, or their passwords, to all and sundry.
16                 Grey Matter Services                                                              The problem for security services is that accessing the                32 And Another Thing
                                                                                                                                                                               Jon Honeyball sets his sights on UI
18                 Condusiv                                                                    information they are convinced they need is becoming                              design and release schedules.
21                 Flexera                                                                     increasingly difficult, which has resulted in ever more persistent
                                                                                               calls to legislate for our data to be stored in an accessible form. The
25
28
                   Nfon
                   Intel Media Server Studio                                                   problem for us - even for those of us who have nothing to hide - is          34 Short Cuts
                                                                                                                                                                               Views from the edge.
31                 Paessler                                                                    that such moves can only make our data more vulnerable, and our
33                 GFI                                                                         privacy harder to protect.
35                 Visual Studio                                                                     Such considerations are particularly relevant to data that is
36                 Intel Event                                                                 stored in the cloud. If your provider is an American company and
                                                                                               your data is stored in a server-farm located in the UK but might be
                                                                                               backed up or routed through another in Singapore or Sydney, then                  Register Now!
Grey Matter Limited                                                                            access could be subject to the laws of four different countries. And              HardCopy magazine is published three times a year.
Prigg Meadow,                                                                                  if the ‘Snooper’s Charter’ continues unchanged, then the UK could                 Don’t miss out by registering or updating your
Ashburton,
                                                                                               become the weakest link.                                                          details at www.greymatter.com/hc/subscribe
Devon, TQ13 7DF, UK
                                                                                                     Ultimately the cloud is an international resource, and such
marketing@hardcopymag.com
                                                                                               matters can only be resolved through international discussion and
                                                                                               agreement. Only once that happens can we start thinking about                     Read HardCopy online
                                                                                               taking back control of our online privacy and identity.                           To view read articles on the web go to HardCopy
                                                                                                                                      Matt Nicholson, Editor, HardCopy           online at www.greymatter.com/hc/hardcopy

                                                                                                                                                                         Grey Matter • 01364 654100 • HardCopy                        3
Visual Studio 2017 - Cloud Security Keeping your data secure and legal - Grey Matter
News | Read more online at www.greymatter.com/hc/news

                     Software News
                      Microsoft takes up the Slack with Teams chat for Office 365
                      Microsoft • www.greymatter.com/microsoft/
                              Microsoft is challenging business chat       Team’s chat connectivity can’t currently extend    Directory to answer questions such as “Who
                              giant Slack with the launch of Teams, a      beyond the host organisation.                      knows about subject x?” A set of more than 70
                      chat-based collaboration tool for its Office 365           Teams is Office 365 Tier C security          connectors allow feeds from outside services
                      online application suite. As well as Slack-like      compliant, with data encrypted in transit and at   while Microsoft claims 150 partners for its
                      chat channels, the product features deep             rest. The system integrates with Microsoft’s Bot   third-party integration API, including SAP, Asana
                      integration with Office 365 applications             Framework, launching with a Slackbot-like          and Zendesk. Teams can be enabled from the
                      including Skype for Business, and with               ‘T-bot’ helper, plus a forthcoming Whobot,         Office 365 admin center, and runs on Windows,
                      SharePoint and Active Directory services. It’s       which uses Microsoft’s AI framework and Active     Mac, Android, iOS and web platforms.
                      supplied as a free add-on for Office 365
                      Business and Enterprise plans, but won’t be
                      available to Home and Personal users.
                           Teams presents a Slack-like interface with
                      user-defined ‘Teams’ acting as hubs for multiple
                      Channels (chat rooms) supporting persistent
                      and threaded conversations complete with
                      animated GIFs and emojis. However its tabbed
                      interface also allows users to open other Office
                      365 apps (including Word, Excel, PowerPoint,
                      PowerBI and the revamped ‘Facebook for
                      Enterprise’ Delve) within chat sessions, with
                      collaborative document editing automatically
                      secured via OneDrive cloud and local
                      SharePoint storage. Skype for Business provides
                      embedded video and voice calls, although             Microsoft’s Teams offers threaded chat plus deep integration with Office 365.

                      GrapeCity matches VS launch with ComponentOne release
                      GrapeCity • www.greymatter.com/GrapeCity-Inc/

                               Pittsburgh-based component vendor           simultaneously with VS 2017. The bundle            binding to any .NET data source. There’s also a
                               GrapeCity has lived up to its status as a   encompasses ComponentOne Studio (Windows           new multi-month CalendarView control, and a
                      Visual Studio 2017 Sim-Ship Partner by               components) plus Wijmo (JavaScript) and Xuni       new MVC OLAP control complete with C# Pivot
                      shipping its updated, VS2017-compatible              (mobile) controls, with GrapeCity claiming that    Engine.
                      ComponentOne Ultimate 2017 v1 suite                  it delivers “the fastest and most versatile”            The Wijmo toolset gains a new TreeView
                                                                           components for data management, data               with checkboxes and drag-and-drop support,
                                                                           visualisation, scheduling, input, editing,         plus a server-side OLAP control, a PDF Viewer
                                                                           navigation and reporting.                          and a new (and apparently unique)
                                                                                 The popular InputPanel component, which      MultiAutoComplete control that blends
                                                                           combines multiple input fields into a single       multiple selection with auto completion.
                                                                           control, is now available in an XAML version,      GrapeCity is now focusing its Xuni mobile
                                                                           simplifying forms creation across Windows 10       controls on Microsoft’s recently-acquired
                                                                           devices. Two new Excel chart types (box-and-       Xamarin cross-platform toolset, and Ultimate
                                                                           whisker plot and ErrorBar) are added to            2017 v1 ships with a beta of ComponentOne
                                                                           FlexChart for Windows. FinancialChart for          Xamarin Enterprise, featuring UWP support,
                                                                           Winforms gains MACD and Stochastic indicator       compatibility with Xamarin’s visual designers,
    ComponentOne Studio adds box-and-whisker to its range of               series, while the new GanttView for WPF is a       and ‘up to twice’ the performance of previous
    Excel-style charts.                                                    complete project management tool with              Xuni versions.

4      Spring 2017 • Issue 71 • HardCopy
Visual Studio 2017 - Cloud Security Keeping your data secure and legal - Grey Matter
Microsoft bundles Redgate tools in VS2017 Enterprise
Redgate • www.greymatter.com/redgate/
         As vendors race to sim-ship their Visual    according to Redgate the unique requirements           “effortlessly”, with code completion and
         Studio 2017 add-ons, Cambridge (UK)         of database development make them                      highlighting, wildcard expansion and INSERT
tools developer Redgate Software has scored          something of a DevOps hurdle. Redgate                  column lists. SQL Search finds SQL fragments in
something of a coup by getting its tools             ReadyRoll Core edition gives precision control         tables, stored procedures and other locations,
included in the VS2017 ‘box’. Redgate Data Tools,    over automated change deployment,                      searches across multiple databases and finds
a suite of three items designed to bring DevOps      supporting a hybrid migration/state-based              multiple object references. SQL Search is also
processes to SQL Server and Azure SQL projects,      approach suited to frequent change cycles.             included in VS2017 Community and
is available as a no-cost standard installation      Features include auto generation of SQL                Professional editions. ReadyRoll and SQL
option for VS2017 Enterprise subscribers.            migration scripts with local verification, and         Prompt are also available in Pro editions with
     DevOps encourages collaboration between         integration with VSTS and TFS.                         extra features including an Offline Schema
development and operations teams, resulting in            SQL Prompt Core allows developers to              Model, stored procedure support and schema
quicker feedback and change turnaround, but          write, reformat and refactor SQL code                  drift reports (ReadyRoll).

Intel targets connected car makers with Linus Media SDK
Intel • www.greymatter.com/intel/
         Determined as ever not to let ARM           cars to smart cameras, drones and real-time            inverse telecine, resizing, frame rate conversion,
         dominate the Internet of Things, Intel      surveillance systems.                                  and image stabilisation. Fallback provision
has launched a new Media SDK for embedded                 The Media SDK API provides an abstraction         when no hardware acceleration is available can
Linux, providing tools and libraries for optimised   layer between code and Intel’s QuickSync Video         be automatic or developer-defined. Intel says
video processing on its processors running           hardware-accelerated codecs, removing the              the API is extensible, allowing the possibility of
Yocto Project embedded distributions. The            need for device-specific instructions and              third-party hardware support.
package joins Intel Media SDK for Windows,           future-proofing code against hardware                       Intel Media SDK for Embedded Linux
providing a cross-platform, device-independent       developments. Supported video encoders                 supports third and higher generation Core,
API for hardware-accelerated video processing.       include HEVC, AVC, MPEG-2, MJPEG, and MVC              Celeron, Pentium and Atom processors, and the
Intel says that the Linux version is aimed at        with stereoscopic 3D support, while pre and            SDK is currently certified to run on Yocto Project
developers working on projects from connected        post-processing support includes deinterlacing/        Jethro 2.0.3.

Sketchup sees the light with V-Ray 3 add-on
Trimble • www.greymatter.com/trimble/
         ‘Trimble’ may not be a household name,            Also new in V-Ray 3 are a drag-and-drop          DPI monitors, and a new ‘3D for every-cone’
         but the Californian solutions provider is   materials library, quick cutaway and section           feature which allows people with colour
a worldwide giant, working with industries from      renders, aerial perspective with realistic depth       blindness to customise colour schemes.
construction and agriculture to forensics and        and haze, automatic noise reduction and
forestry. Its Trimble Buildings division produces    ‘realistic grass, fur and carpet’ textures.
Sketchup Pro, a high-end 3D design application       For seriously big renders there’s V-Ray
aimed at architects and planners, and Bulgarian      Swarm, a new distributed rendering
vendor Chaos Group has just released V-Ray 3         system. V-Ray is also available for a range
for Sketchup, a rendering extension capable of       of other design packages, including
startlingly photorealistic results.                  Katana, Rhino and Revit.
     V-Ray 3 uses ‘simulated photon wizardry’ to           Sketchup Pro, meanwhile, has a new
convert Sketchup models into 2D photographic         2017 release with major improvements to
images, as well as 360 degree stereoscopic           its graphics pipeline delivering faster
exports for VR headsets. The new version             rendering and higher quality
emphasises ease of use, with new presets and a       transparency. Also new are data tables
Quick Settings dialogue, although the full array     (with CSV/Excel imports), improved .DWG
of complex settings, best approached with a          exports with smart scaling, better support
physics degree, is still there if required.          for Apple Retina displays and other high       V-Ray   3 for Sketchup – startlingly photorealistc renders

                                                                                                                  Grey Matter • 01364 654100 • HardCopy          5
Visual Studio 2017 - Cloud Security Keeping your data secure and legal - Grey Matter
News | Read more online at www.greymatter.com/hc/news

               News in brief
               Enhanced status for Grey Matter
               Microsoft has accredited Grey Matter with CSP and SPLA licensing                  Competition Winner
               distribution status, alongside its existing ISV Royalty and Bing distribution     Our congratulations and a Linx 1010 32GB
               status. This allows it to offer customers and partners an end-to-end cloud        tablet go to Jon Perkins of WDS Global,
               licensing service.                                                                winner of Issue 70’s competition.
                     Grey Matter General Manager Matthew Whitton said, “By adding CSP
               and SPLA distribution status we are able to offer the full range of
               Microsoft hosting and licensing choices for each customer and partner           which have arisen in a given period), attachments on the agile board,
               scenario.”                                                                      improved user authentication including two-step LDAP, and a revised
                     The SPLA (Service Provider Licencing Agreement) programme allows          access tab. Enhancements to Upsource include Cross-project full-text
               ISVs and SaaS businesses to host their solutions in their preferred             search, improved creation and handling of change reviews, basic Gitlab
               environments, with a monthly subscription model and support from Grey           support and availability as a Docker image. Android Studio compatibility is
               Matter. CSP (Cloud Solution Provider) Indirect allows Grey Matter to            improved, as are Gradle properties, custom workflows and query assist.
               provide services to partners offering Microsoft cloud solutions directly to
               their customers.                                                                Adobe and Oracle see cloud revenues grow
                     Matthew Whitton added, “With all our years of experience working          Media tools giant Adobe achieved record quarterly revenues of $1.68
               with ISVs in the on-premise arena, we now have the ability to transition        billion in the first quarter of 2017, with annualised recurring revenue from
               ISVs to a hosted solution and provide all the support, services and             its Creative Cloud and Document Cloud services reaching $4.25 billion.
               licensing schemes they will need. Our aim is to be the first choice for all     Oracle also achieved massive online growth, with quarterly revenues from
               ISVs transitioning to Azure.”                                                   its SaaS and PaaS cloud businesses up 73% to just over £1 billion, and total
                                                                                               revenues of $9.2 billion. However Oracle Chairman Larry Ellison says he’s
               Visual Studio 2017 released                                                     ‘even more excited’ about the company’s Gen2 IaaS offering, which he
               Microsoft’s Visual Studio 2017 has been released to general availability.       claims is ‘faster and lower cost’ than Amazon Web Services. Meanwhile
               Improvements focus on performance and quick-turnaround DevOps                   security vendor Symantec has launched Symantec Ventures, which will
               processes, plus cloud and mobile app development. New features include          offer cyber security startups capital plus access to Symantec technology
               selective install, faster startup, Roaming Extensions, live unit testing and    and infrastructure.
               Git integration. Also featured are support for Microsoft’s newly-acquired
               Xamarin cross-platform .NET implementation, a built-in suite of Azure           • Red Hat has released version 3.4 of its OpenShift distribution of the
               tools and language updates including enhanced support for C++ 11 and            Kubernetes management system for containerised applications. New
               14. For full details see our VS2017 feature on page 10.                         features include dynamic storage provisioning across on-premises and
                                                                                               public clouds, push button deployment for stateful and stateless
               GFI launches OneGuard and OneConnect                                            applications, and enhanced multitenancy via Kubernetes namespaces. The
               Security vendor GFI has launched GFI OneGuard, which combines                   system is compatible with Amazon Web Services, Google Cloud Engine
               anti-virus protection, patch management and network resource                    and Microsoft Azure.
               management behind a single console. Based on GFI’s existing patch
               management technology, it also includes the Kaspersky antivirus engine.         • Intel has launched a bug bounty programme, offering up to $30,000 for
                                                                    The company has            details of hardware, software and firmware vulnerabilities. McAfee
                                                                    also released GFI          products are excluded, as are recent acquisitions, and payments are on a
                                                                    OneConnect, an             scale based on CVSS (Common Vulnerability Scoring System) ratings, with
                                                                    email management           a critical hardware bug required for the full $30K. Microsoft has also
                                                                    solution which runs        launched a bug bounty scheme, with payouts of up to $15,000.
                                                                    alongside an
                                                                    Exchange server. The       • Flexera Software has been named IoT Enablement Company of the Year
                                                                    package includes           in the IoT Breakthrough awards, for enabling IoT builders to understand
                                                                    spam and malware           the vulnerabilities and compliance risks of using open source components.
                                                                    filtering backed by        Meanwhile Veeam Software has been voted best backup and recovery
                                                                    two antivirus              vendor in a techconsult survey of 2,400 companies across Germany,
               engines (again including Kaspersky), plus secure cloud-based archiving          Austria and Switzerland.
               and a continuity service which provides access to emails and calendars
               even when the Exchange server is down.                                          • UK security vendor BeCrypt has pledged its support for the National
                                                                                               Cyber Security Centre (NCSC)’s new CyberFirst programme, which aims to
               JetBrains updates YouTrack and Upsource                                         improve the UK’s cyber industry by creating opportunities for talented
               Agile development champion JetBrains has updated its YouTrack issue             young people. The company will provide financial support, training and
               tracker and Upsource code review and repository browsing tools, both to         work experience opportunities, and help to support residential courses
               2017.1 release. New features in YouTrack include time tracking (find issues     NCSC is running for 14 to 18-year-olds.

6   Spring 2017 • Issue 71 • HardCopy
Visual Studio 2017 - Cloud Security Keeping your data secure and legal - Grey Matter
Visual Studio 2017 - Cloud Security Keeping your data secure and legal - Grey Matter
Competition

     WIN an Amazon Echo courtesy
     of Barracuda!
             Put your home under voice control! The Amazon Echo                             you have fitted compatible devices, all under the
             will fill your room with music, answer your questions,                         command of the Alexa Voice Service. And what’s
     read you audiobooks, report news, traffic and weather, and                             more, Alexa is continually learning how better to
     even control your lights, switches, thermostats and more once                          satisfy your needs!

         To enter:
         Barracuda and Grey Matter would like take a few minutes of your time
         to find out what you are doing or plan to be doing about cloud security.
         The survey will take a couple of minutes to complete, and as a thank you
         for your time your name will go into a draw to win an Amazon Echo.

         Complete our online survey and be entered into our prize draw by visiting:
         greymatter.com/hc/barracuda-survey

    TERMS AND CONDITIONS OF ENTRY
    1.   No purchase necessary for entry to this competition.                                                   8. The judges’ decision must be accepted as final and no correspondence will be entered
    2.   The prize is one Amazon Echo (colour may vary from that shown above). There is no cash alternative.        into regarding the decision.
    3.   Completed entries must be received by Friday 23 June 2017.                                             9. Employees of organisations connected with this competition are not eligible for entry.
    4.   Entries submitted online at www.greymatter.com/hc/barracuda-survey will be accepted.                   10. Grey Matter reserve the right to use winner’s names in promotional materials.
    5.   Only one entry will be accepted per person.                                                            The competition promoter is Grey Matter Ltd, Prigg Meadow, Ashburton, Devon TQ13 7DF.
    6.   The winner is chosen at random from completed entries received by the closing date.
    7.   The winner will be announced on Friday 30 June 2017, and notified by either email or by telephone.

8          Spring 2017 • Issue 71 • HardCopy
Visual Studio 2017 - Cloud Security Keeping your data secure and legal - Grey Matter
Visual Studio 2017 - Cloud Security Keeping your data secure and legal - Grey Matter
Development

                           Visual Studio 2017
                           The latest version of Microsoft’s flagship development suite is
                           here. Tim Anderson gives it the once-over.

                                    Microsoft’s Visual Studio 2017 marks 20        of HP, Dell and Lenovo will democratise mixed       CompactOverlay mode or Picture in Picture.
              TIM                   years of Visual Studio, the first being        reality experiences previously reserved for the     This is an always-on-top view which is intended
     ANDERSON              Visual Studio 97 which bundled Visual C++,              high-end HoloLens devices); an improved             to pop up a small status window while your app
                           Visual Basic, Visual FoxPro, Visual J++ and Visual      Windows Subsystem for Linux; and better Ink         is running, but the user is working primarily on
 A freelance journalist
       since 1992, Tim     InterDev. It has become a remarkable                    support in UWP (Universal Windows Platform)         something else. It is ideal for a chat application,
      Anderson covers      development tool, not only for its                      apps. Visual Studio 2017 along with the             for example.
        a wide range of
                           comprehensive support for all Microsoft’s               updated Windows 10 SDK is the best                       This release of Visual Studio comes with
  technical topics and
       is well versed in   platforms, but also for its ability to target           development tool for Windows 10.                    the final 1.0 release of .NET Core and ASP.NET
modern programming         non-Windows operating systems, which goes                     Worth noting is that, despite limited         Core, the culmination of a long process to build
      tools, techniques
                           well beyond previous releases.                          success to date, Microsoft is still pushing for     a cross-platform version of the .NET Framework.
     and technologies.
        His recent work          Microsoft itself is in transition, with an        greater adoption of UWP applications. In            The final release uses MSBuild for building
       has appeared in     increasing focus on cloud services such as              Windows 10 Creators Update, there is a new          projects, but with a simplified project format
publications including
                           Office 365 and cloud infrastructure in the form         option to restrict application installs to          that can be edited manually, without unloading
Guardian Technology,
          The Register,    of Azure. Many Azure users run Virtual Machines         Store-only. The idea is that Store applications     the project.
    Computer Weekly,       (VMs) on Linux rather than Windows, and rather          are more trusted and better behaved, though              It would now be a mistake to perceive
 Hardcopy, IT Expert,
                           than resisting this trend, Microsoft has actively       this can now include
       vnunet.com and
ITJOBLOG, as well as       supported it, building partnerships with Linux          Win32/Win64
 his own popular blog      vendors to improve integration. SQL Server is in        applications that are
at www.itwriting.com.
                           the process of being ported to Linux, and the           wrapped with the
                           open source fork of .NET, called .NET Core,             Desktop Bridge (formerly
                           works on Linux as well as Windows. In the               known as Project
                           mobile area, Microsoft now has strong support           Centennial). If this idea
                           for building cross-platform mobile apps with C#         wins adoption, then it
                           via its Xamarin tools. You can also use Apache          pays to develop UWP
                           Cordova or Visual C++ for iOS and Android.              applications.
                                 Visual Studio also retains its traditional role         UWP applications
                           as the primary development tool for the                 also have a new feature
                           Windows platform. Microsoft has just                    in Windows 10 Creators
                           completed the Windows 10 Creators Update,               Update, which is the
                           with new features including 3D and mixed                ability to display a new
                           reality support (new VR headsets from the likes         view called                    A new option restricts application installs to Store-only.

10                Spring 2017 • Issue 71 • HardCopy
Development

                                                                                                           and has many new features, bringing it close to
                                                                                                           parity with C# and VB.
                                                                                                                JavaScript has a new service which
                                                                                                           supports features new to ECMAScript 2016 as
                                                                                                           well as JSX, letting you use inline XML-like
                                                                                                           syntax that gets compiled to JavaScript.
                                                                                                           Another great JavaScript feature is that you can
                                                                                                           debug with line-by-line breakpoints in Chrome
                                                                                                           as well as Microsoft browsers.
                                                                                                                XAML editing in Visual Studio now
                                                                                                           supports Edit and Continue within UWP or WPF
                                                                                                           (Windows Presentation Foundation)
                                                                                                           applications. There is also smarter IntelliSense,
                                                                                                           and a Structure Visualizer that shows the
                                                                                                           context of each block of code without scrolling.
                                                                                                                Visual Studio 2017 has a redesigned
                                                                                                           Exception Helper. This is the dialog that pops up
                                                                                                           during debugging if you hit an exception. In
This application is running on Linux in Docker, with full debug integration.
                                                                                                           previous versions there was an Exception
                                                                                                           Assistant for managed code, and a modal
Visual Studio as being mainly for .NET or Visual     New editing features                                  Exception Dialog for unmanaged code. The new
C++ development. Supported languages also            The Visual Studio editor has some handy               Exception Helper will break on the line of code
include Node.js, Python, R (for statistical          updates, such as Run to click. While debugging,       where the exception occurred, even in
applications), JavaScript and TypeScript.            it is common to want to execute a bit more            unmanaged code. Null analysis will determine
                                                     code, but repeatedly stepping through with F10        what is null for a NullReferenceException or
Deploying to containers                              or F11 can get tedious, for example if a loop is      Access Violation, where possible. The new
Containers are a popular choice in modern            involved. In previous versions you can right-click    dialog is resizable and can be pinned or
development because of their clean                   and choose Run to cursor, to jump to some             floating. It also shows any Inner Exceptions
deployment model, easy scaling, and suitability      code after the loop, but now you can simply           immediately, without having to drill down. It is
for microservices, so it is no surprise to find      hover the mouse over a line of code and click a       non-modal even for unmanaged code.
Visual Studio 2017 having support for containers     green arrow once to run to that point.                     There are also a number of new
built in. When you create a new ASP.NET Core                There is a new Go To All command (Ctrl-T)      refactorings for C# and Visual Basic. You can
project, you can check the box for Docker            that lets you search a solution and filter the        simplify object initialisation with an initialiser,
support, although Docker for Windows does            results by symbols, members, types and more.          which makes member assignments part of the
need to be installed separately from the Visual      In addition, Find All References has been             new() statement. You can also add missing
Studio installation. Visual Studio will then build   redesigned, and now offers grouping, filtering,       cases to a C# switch or VB Select; convert a
a Docker image based on the YAML files in the        sorting and searching within results.                 property to a method or vice versa; make async
docker-compose project that gets added to                   A new feature called Structure Guidelines      methods synchronous where possible; convert
your solution. By default the Docker container       draws horizontal lines connecting each block of       String.Format to string interpolation (a feature
(which is based on a Hyper-V VM) runs Linux          code. Hover your mouse over the line and it tells     new in C# 6.0); convert null checks to use the
rather than Windows, but everything works as         you what the block is, for example showing the        null-coalescing operator (a feature new in C# 7);
you would expect and you can do line-by-line         namespace, the class and method.                      and move “out” declarations inline (using
debugging. You can also set Docker to use                   The editor for F# is now based on Roslyn       another new C# 7 feature).
native Windows containers.
      When it comes to deployment, Visual
Studio offers several choices. In preview is Azure          Visual Studio’s new installer
App Service for Linux, which is an immediate           The most prominent new feature of Visual Studio is the installer. This is now a separate
deployment of a single container to Azure’s            application and much quicker than previous versions. You can select either workloads, which
scalable app platform. Another option is to            bundle features together for targets such as desktop development, ASP.NET, UWP, SharePoint or
deploy to an Azure VM. You can also publish to         Mobile; or you can select individual components such as specific versions of the .NET Framework,
files or to FTP servers for deployment to other        Git for Windows, or the Apache Cordova toolset.
platforms.                                                   You can also install different editions of Visual Studio side by side, and modify each one from
      If you have a more complex solution, you         the same installer. An Update button lets you bring previously installed instances up to date with
can configure Azure to deploy from a Team              the latest patch.
Services repository. That way you can set up                 Businesses rolling out Visual Studio 2017 to a team of developers can create an offline
continuous integration using containers and            installation for either the full product, or for the subset of workloads that the team needs.
Azure’s Container Service. At the time of writing            Visual Studio is a highly modular developer tool. Understanding how to install the pieces
this method only supports Linux containers and         you need can be confusing, since they might come from the installer, or from NuGet packages, or
DCOS orchestration, but support for Kubernetes         from Extensions and Updates which are accessed from the Visual Studio tools menu.
and for Windows containers is promised.

                                                                                                           Grey Matter • 01364 654100 • HardCopy                    11
Development

                                                                                                             Microsoft has templates for bot
                                                                                                        applications and a NuGet package called
                                                                                                        Microsoft.Bot.Builder which you can add to
                                                                                                        your application. The essence of the Bot
                                                                                                        Framework is the ability to code dialogs, with
                                                                                                        the Framework providing a Context object for
                                                                                                        your dialog methods so you can review an
                                                                                                        earlier conversation and respond appropriately.
                                                                                                        You can use the Framework with an ASP.NET
                                                                                                        Web API application, so it should be familiar if
                                                                                                        you have worked at all with ASP.NET MVC.
                                                                                                             Before firing up Visual Studio though, you
Options for Mobile application and backend support in Visual Studio.                                    probably want to create a LUIS (Language
                                                                                                        Understanding Intelligent Services) application
Targeting mobile devices                              connecting to data via the Entity Framework, or   so that your bot can interpret messages. A LUIS
Xamarin for Visual Studio, Microsoft’s toolset for    connecting to your custom Web API.                application is a cloud service customised to
compiling for iOS and Android using C#, is now                                                          your needs. You create them by logging in at
at version 4.3 and fully integrated with the new      Building bots                                     http://luis.ai. Once created, LUIS applications
Visual Studio installer.                              Microsoft has invested in cloud services for      are composed of Intents, which represent
      Since Microsoft’s acquisition of Xamarin in     machine learning and artificial intelligence, in  actions or verbs, and Entities, which represent
early 2016, the tools have continued their            the belief that this will be increasingly         subjects and objects.
energetic development. Newer platforms such           important. Cognitive Services is a set of              Imagine that you are creating an
as Apple Watch, tvOS and Android Wear are             currently 24 APIs divided into five categories:   application that allows employees to check the
supported, Visual Studio for Mac has been             •   Vision: APIs for image recognition and        price and stock of products while on the road.
launched, and many bugs have been squashed.               content moderation. For example, you can      The Bot Framework supports SMS, so this could
In February 2017, Microsoft said it had fixed             upload an image and parse its content, and    work hands-free while the employee is driving,
1,800 bugs in Xamarin Forms, the cross-platform           even recognise people in your organisation.   assuming the phone has the ability to send
version of XAML optionally used by Xamarin            •   Speech: convert text to speech or speech to   texts via speech.
mobile applications. Compiled XAML is said to             text, and recognise who is speaking.               In the LUIS application therefore you might
be five times faster than previously on iOS and       •   Language: includes services for checking      create Intents called CheckStock and
Android. Xamarin Forms now supports Windows               spelling, translating and analysing text.     CheckPrice, and an Entity called Product. Next
10 UWP as well as mobile and there is also news       •   Knowledge: make personalised product          you would add example statements, called
that Xamarin Forms for the Mac will come later            recommendations, analyse academic papers,     Utterances, and show LUIS how to parse them.
in 2017.                                                  search structured data.                       For example, the utterance “How many widgets
      Xamarin Forms is less flexible than             •   Search: use Bing to search the internet for   are in stock?” is an example of the CheckStock
designing a custom user interface for each                news, images, video or general web content.   intent and contains a Product entity.
platform, but it is important to note that native     Although these APIs are relatively new, and in         A LUIS application has to be deployed, and
platform widgets are still used, so it does retain    some cases still in preview, they do a good job   there is a built-in process for deploying to
the correct look and feel.                            of democratising features that would previously   Azure. A limited number of interactions are free,
      Most mobile applications are part of a          have been out of reach for most developers.       making it easy to build demos and prototypes.
larger project involving cloud-hosted services.             A ‘bot’ is an application for which the user     Once you have set up LUIS, you can return
In Visual Studio 2017, a new template called          interface is language interaction. This could be  to Visual Studio. Microsoft has templates for
Cross-Platform App creates an end-to-end              in the form of text messaging, a widget on a      sending input to LUIS and creating dialogs
application with a backend service hosted in          website, or via a messaging service such as       based on its results. For example, you can create
Azure and clients for Android, iOS and Windows        Skype or Facebook Messenger. Although the         a CheckStock dialog that will be called
10 (UWP). The wizard prompts you to select an         mechanics of a bot may seem
Azure subscription as well as giving options for      simple, making them work involves
additional services such as a SQL Server              at a minimum language parsing, and
database. Once created, you can add further           if speech input is required, speech
services including Application Insights for           recognition and text to speech
monitoring, Azure Storage, Office 365 and Azure       services. Bot-style applications are
Active Directory authentication.                      likely to be increasingly important.
      The resulting solution has separate projects          Microsoft has released a Bot
for iOS, Android and Windows, so you can              Framework which, when combined
decide whether code is shared by all the              with Cognitive Services, makes
projects, or specific to a particular platform. The   developing a bot relatively easy,
backend service is an ASP.NET MVC application,        though as ever there can be a lot of
and the project supports two special controller       work involved in perfecting your bot
types, Azure Mobile Apps Custom Controller            or enabling more sophisticated
and Azure Mobile Apps Table Controller, for           interactions.                                    Using LUIS to add utterances that will enable it to parse text input.

                                                                                                        Grey Matter • 01364 654100 • HardCopy                          13
Development

                                                                               register with the relevant third party and pass        Microsoft software.
     Live Unit Testing                                                         their approval procedures.                             • Visual Studio Test Professional with MSDN
 A powerful feature in Visual Studio 2017, though reserved for the                    Although the Bot Framework simplifies bot       is not designed for development, but gives full
 Enterprise edition, is Live Unit Testing. Note that there are several         development, it does require a different way of        support for test case management, lab
 additional requirements for this to work. Your project must use C# or         thinking as a developer. Instead of the security       management and TFS testing and reporting.
 Visual Basic and target the .NET Framework, not .NET Core. You must           of input constrained to buttons, fields and            •  Visual Studio Community is free and
 also use a supported Test Framework. In the case of Microsoft Test, you       checkboxes, you have language input that               relatively full featured, though there are some
 have to remove the default Microsoft.VisualStudio.QualityTools.               might be incorrectly parsed, especially if speech      features missing including TFS integration and
 UnitTestFramework and install the latest version of MSTest.                   to text is added into the mix. If accuracy is          built-in version control. There are limitations to
 TestFramework using NuGet. Finally, you have to ensure that the               critical, your application will probably need to       using this edition in a production environment.
 MSTest.TestAdapter package is added to the project.                           verify actions with the user, using phrases such
                                                                               as, “I am going to order 500 of the widget             Subscription options
                                                                               product for customer X, is that correct?”              Most Visual Studio licences come as
                                                                                      It is early days for bot development, but       subscriptions, though you can purchase Visual
                                                                               there is plenty of potential here for exploring        Studio Professional as a standalone licence.
                                                                               new ways of interacting with applications.             •  Standalone Licence: Visual Studio
                                                                                                                                      Professional only, no TFS CAL included.
                                                                               Licensing Visual Studio 2017                           •  Standard Subscription (formerly MSDN
                                                                               This is a complex subject and it’s worth               subscription): The Visual Studio Professional
                                                                               speaking to a reseller such as Grey Matter to          version includes a TFS CAL, Azure credits, and
                                                                               find out which is best for you. Visual Studio          access to products such as Windows Server,
                                                                               comes in a number of different editions.               SQL Server and Windows. The Enterprise
                                                                               •
 With Live Unit Testing enabled, icons in the left margin show
                                                                                  Visual Studio Professional is fully licensed        version adds Office and more options for
 the test status of your code as you work.
                                                                               for commercial use and includes Team                   testing and development. Your Visual Studio
      When this is all done, and you Start Live Unit Testing from the Test     Foundation Server (TFS) and Team Services              licence does not expire with the subscription.
 menu, some magic happens. As you edit your code, a tick shows for             support, though the standalone licence does            •  MSDN Platforms: Available exclusively
 code that passes tests, a cross for failures, and a blue horizontal bar for   not include a TFS CAL (Client Access Licence).         through volume licensing, this does not
 code not covered by any test. The tests do not execute immediately,           •  Visual Studio Professional with MSDN                include the Visual Studio IDE. Rather, it offers a
 but in the interim a small wait icon shows that re-test is pending.           includes a full commercial IDE licence, as well as     full range of Microsoft products such as
                                                                               access to Windows Desktop, Windows Server,             Windows Server, SQL Server, Windows and
                                                                               SQL Server, Azure credits for testing and              Office for development and testing, $100 of
                            whenever LUIS identifies a statement that looks    development, and a TFS CAL.                            Azure credits per month, use of Visual Studio
                            like an attempt to check stock. If LUIS has        •  Visual Studio Enterprise with MSDN adds             Team Services, and a licence for Team
                            already found a product entity, you might be       comprehensive test support. You also get the           Foundation Server with one CAL.
                            able to respond immediately. Otherwise, you        Redgate Data Tools, architecture diagrams and          •  Cloud Subscription: For either Visual Studio
                            might need to ask a further question, such as      lab management support, together with                  Professional or Enterprise, including a TFS CAL.
                            “What is the product?” or “What is the product     Xamarin Profiling and Test Recorder. Each              Available on a monthly or yearly basis,
                            code?” Once the correct product is established,    Enterprise licence comes with a Concurrent             although access to Microsoft platform software
                            the application can look up stock levels in a      Pipeline licence for TFS, enabling multiple            and Azure credits only applies to annual
                            database and return the results.                   simultaneous builds and parallel build agents,         subscriptions. Your Visual Studio licence
                                  To publish your bot it has to be hosted      together with access to over 11 terabytes of           does expire with the subscription.
                            somewhere that supports ASP.NET MVC, and
                            again you have the option to use Azure. You
                            also have to register the bot with Microsoft’s             What’s new in C# 7 and Visual Basic 15
                            cloud service, giving the URL of the deployed          The C# and VB languages have both been updated for Visual Studio 2017.
                            service. Then you can set up a variety of                   Value tuples let you return more than one value from a function. In order to use them, you
                            channels, including Skype, web chat, email,            need to add the Nuget package System.ValueTuple to your project.
                            SMS, Slack or, for integration with Office 365,             You can now return values from functions by reference, a feature called ref returns.
                            Microsoft Teams.                                            Async methods return types are no longer restricted to Task or Task, though return
                                  Some of these channels are outside               types have to follow certain rules and have a [TaskLike] attribute.
                            Microsoft’s control, so while the cloud service             Nested local functions (C# only) let you declare functions within a block. Delphi (Object
                            will handle the mechanics, you also need to            Pascal) developers will recall being able to do this years back. Functions nested within other

      i                                                                            functions are private to the parent function and have access to local variables within that
               Find out more                                                       function. This can enable cleaner code, avoiding passing multiple arguments or declaring utility
                                                                                   functions, especially in recursive processing.
 You can get a detailed comparison of each edition of Visual Studio                     Pattern matching expressions (C# only) extend the “is” operator to test expressions against
 2017 at www.visualstudio.com/vs/compare/. For more information                    patterns, a feature common in functional languages.
 see the Grey Matter website at www.greymatter.com. You can also                        Binary literals let you define binary numbers using a prefix (0b in C#, &B in VB). You can use
 call us on 01364 654100 or email maildesk@greymatter.com.                         the underscore character as a separator for readability, with no semantic value.

14            Spring 2017 • Issue 71 • HardCopy
Tap into the Power of Parallel
Reach new heights on the fastest Intel® Xeon® and Intel®
Xeon Phi™ processors and coprocessors with new
standards-driven compilers, award-winning libraries,
and innovative analyzers.

Create faster code—faster.
Intel® Parallel Studio XE
Get it now: greymatter.com/hc/ipsxe-2017
Or call: +44 (0) 1364 654100

For more complete information about compiler optimizations, see our Optimization Notice at software.intel.com/en-us/articles/optimization-
notice#opt-en. © 2017 Intel Corporation. All rights reserved. Intel, the Intel logo, Intel Inside, the Intel Inside logo, Xeon, and Intel Xeon Phi are
trademarks of Intel Corporation in the U.S. and/or other countries. *Other names and brands may be claimed as the property of others.
Development

Managing the
Application Lifecycle
Can Visual Studio 2017 help you get started with Application
Lifestyle Management? Simon Bisson investigates.

          The way we build applications is          write it, and where code coverage analysis is just     passes through the old SDLC model. While ALM
          changing, and the tools we’re using are   another feature of the IDE.                            doesn’t explicitly support devops, it is able to     SIMON
changing to fit in with and take advantage of             Bringing features like this into Visual Studio   bring in inputs from operations to the               BISSON
these new ways of working. So it’s not surprising   make a lot of sense, especially as Roslyn is now       development team; and it can be seen as the
                                                                                                                                                                Simon is a freelance IT
to see Visual Studio 2017, and tools from its       the default .NET compiler, and works not just          tooling that is required to deliver the dev in       writer and technology
partners, taking on these new application           with the familiar .NET languages but with              devops.                                              consultant who has
                                                                                                                                                                worked on large scale
lifecycle management concepts and building          Xamarin and Unity, and with the new                          One of the key features of a well-designed
                                                                                                                                                                Web architectures,
them into the tools on our desktop and into the     cross-platform .NET Core. Development today is         ALM solution is the ability to pick and choose       mobile Web projects
cloud services they use.                            about a lot more than simply churning out              the tools you use as part of your delivery and       and XML solutions
                                                                                                                                                                for clients in both
      Tim Sneath, Principal Program Manager for     thousands of lines of code.                            management platform, thanks to APIs that offer
                                                                                                                                                                the private and
Visual Studio at Microsoft described much of              Part of this change is a shift away from the     simple integration points. That way you can use      public sector.
this as “moving things left” in the development     familiar Software Development Lifecycle (SDLC),        Visual Studio as a code editor, GitHub Enterprise
                                                                                                                                                                simonb@
stack. That’s a term we’ve heard a lot from         which was focused purely on the process of             as a repository and collaboration platform, Chef
                                                                                                                                                                hardcopymag.com
devops folk as it describes a process of            building code, to a much broader Application           for configuration management, Jenkins for
automated testing and deployment, and of            Lifecycle Management (ALM) approach. Instead           integration and as a build pipeline, HockeyApp
blending features from one part of the              of tracking development from requirements              for device testing, and any of a wide selection of
development process with another. You can see       gathering to deployment, ALM goes a lot                monitoring tools to see what happens once
some of this in Visual Studio 2017 where, thanks    further, wrapping the entire life of a project         your code’s been deployed.
to the Roslyn compiler-as-a-service features of     from initial concept to eventual
.NET, unit tests can be run on your code as you     decommissioning, and encompassing several              Microsoft’s ALM platform
                                                                                                           Microsoft’s own Team Foundation Server (TFS)
                                                                                                           2017 is a big part of its Visual Studio-based ALM
                                                                                                           tooling. Whether it’s on-premises or in the cloud
                                                                                                           as Visual Studio Team Services (VSTS), it is a
                                                                                                           powerful continuous integration tool. You can’t
                                                                                                           really deliver on the promise of ALM without
                                                                                                           automation, and having a continuous
                                                                                                           integration tool as the backbone of your
                                                                                                           delivery pipeline is key to managing and
                                                                                                           implementing automated build, test, and
                                                                                                           deployment.
                                                                                                                While TFS is the obvious choice for
                                                                                                           Microsoft-centric continuous integration,
                                                                                                           cross-platform and containerised delivery do
                                                                                                           have other options, with both Jenkins and
                                                                                                           Travis CI proving popular. VSTS is another
                                                                                                           option, especially if you’re targeting Azure,
                                                                                                           either as a platform or using virtual machines
                                                                                                           (VMs) and containers.
Download add-ons and plug-ins for Visual Studio 2017 from the built-in Marketplace.                             The latest release of TFS Server is a hefty
You’ll find many of the tools we’ve looked at here.                                                        piece of code, designed to run on 64-bit

                                                                                                           Grey Matter • 01364 654100 • HardCopy                            17
Development

versions of Windows Server alongside SQL             approach to source control. With approaches         Android builds from Xamarin.
Server. While it’s usually installed on a            like gitflow, instead of one main source tree you        Enterprise and cloud apps now also get
standalone server, it can also be virtualised, so    have many, creating new branches for new            support for containers, with Docker support
you can run it as part of a private or hybrid        code, and using pull requests to bring tested       using Windows Containers as a build target for
cloud. Once installed it offers browser access to    code into bugfix, release and main. TFS does        your code. TFS takes that Docker support a step
your codebase, or connects directly into             support its own Git implementation, but using       further, allowing you to deliver code to a
developers’ copies of Visual Studio.                 an alternative service can give you access to       Docker Hub instance and then manage
      A key feature of TFS 2017 is a powerful        more features.                                      deployment to Docker hosts ready for use.
code search tool that can operate across                   Working with TFS you can see formatted             Using containers as a continuous
multiple code repositories, helping you look for     pull requests in your email, and hop quickly to     integration endpoint makes sense, as you can
sections of code across projects. There’s also the   the code using an in-browser file viewer that       use code to define the networks they operate
option to search for work items which allows         not only lets you see the code itself, but also     on and the features that the containers need.
you to see whether developers are working on         commit comments from the developers on your         Once you have defined your containers,
the code they’ve been assigned.                      team. Not only can you see the code that’s          deploying a complete application is simply a
      TFS work management tools are an               changed, but you can also see what your             matter of choosing the right options in your
important feature as they let you run an agile       developers have said about what they’ve done,       environment settings. Both .NET Core and
development process using the server to              giving you the opportunity to collaborate more      ASP.NET Core run on Linux so you’re not limited
manage priorities with Kanban-like boards that       closely as new features are added and bugs          to Windows containers and hosts. The release
let you see current and planned features, and        squashed.                                           management tooling in TFS 2017 will deliver
monitor burndown as new features are                       One important feature to look for in any      your code to the appropriate environment,
completed. This approach gives you visibility on     ALM tooling is support for Markdown                 ready to run, whether it’s a binary, a container,
your application backlog, allowing you to plan       formatting. As developers can be using              or a web app – or even a set of Azure Resource
development sprints and future releases.             anything from Vi and Emacs to Visual Studio or      Manager descriptions.
      TFS also offers the option of hosting NuGet    Eclipse, you’re going to need a common
packages in your own server, rather than relying     formatting language for comments and commit         Continuous integration
on third-party services or setting up and            statements around code. Markdown’s simple           Continuous integration has rapidly become a
managing a separate server. Having your own          formatting directives can be used in any editor,    key development methodology, and is vital to
package server gives you control over what           and then displayed in the browser. Another          the successful delivery of any ALM platform.
packages developers can use in their code,           increasingly popular feature is emoji support.      Code needs to be tested, built, and deployed in
ensuring only trusted and tested code runs and       Emoji has become a convenient shorthand in          an automated fashion. That might mean
ensuring that your build process won’t add new       collaboration, and it’s often easier and quicker    automatic deployment to app stores or code
code you weren’t expecting – an important part       to send a thumbs-up or thumbs-down.                 repositories once tests have been passed, or in
of any ALM continuous integration process.                 Microsoft’s new TFS build tooling is a        many cases the complete deployment of an
      One advantage of using ALM tooling is its      much-needed improvement. You can jump               entire virtual architecture. Support for
ability to support different services. If you’re     straight from a build log to the code that caused   technologies like containers means that it’s now
using TFS you can use its built-in source control    an error, saving time in interpreting log data      much easier to consider a complete
tools, or work with alternative approaches, and      and mapping it to a specific file and a specific    environment as a build target, rather than
their associate methodologies. That means you        line. There’s also support for stepping outside     selectively deploying elements of an
can quickly plug-in GitHub (either a locally         the traditional Windows build model into the        application.
installed Enterprise edition or the new              Java world with tooling for working with                  It seems counter-intuitive to consider an
cloud-hosted Business service) to take               common Java build environments like Maven           entire network of servers and applications as
advantage of the popular gitflow branching           and Gradle, as well as delivering iOS and           the deliverable at the end of a build, but it
                                                                                                         makes a lot of sense: instead of considering an
                                                                                                         environment as something that’s flexible, it
                                                                                                         needs to be considered as an important entity
                                                                                                         in its own right. Any change needs to be proved
                                                                                                         in test and handled by change and
                                                                                                         configuration management tooling before
                                                                                                         being deployed, with the option of a quick
                                                                                                         roll-back to an earlier known good state if
                                                                                                         necessary. Many application failures result from
                                                                                                         configuration changes that haven’t been
                                                                                                         properly tested, so removing this element of
                                                                                                         risk can help reduce downtime.
                                                                                                               ALM has a much bigger view of what an
                                                                                                         application is than you might initially think. Any
                                                                                                         application is the sum of its dependencies,
                                                                                                         including the services and APIs it uses. They’re
With TFS and VSTS you’ll get access to a web portal that shows what work’s been                          all factors that need to be considered at all
assigned to you, as well as helping a team plan out project sprints.                                     points during development and through the

                                                                                                         Grey Matter • 01364 654100 • HardCopy                   19
Development

                         life of your code, especially if you’re relying on    than just the familiar .NET languages, with tools    you focus on what elements of the backlog can
                         third party APIs or cloud platforms that are          to handle ASP.NET MVC and XAML, as well as           be addressed in which sprint, and understand
                         updated on their own continuous integration           JavaScript and TypeScript. You can even use          what’s most important to users to ensure that
                         trajectories.                                         ReSharper to debug build scripts to make sure        development resources don’t get misused.
                               That’s why having an ALM solution is            your code compiles correctly.                              Other companies that began as
                         important, and why Visual Studio 2017 and TFS               One advantage of a tool like ReSharper is      component vendors have added support of
                         work well together as a foundation that’s             its support for both code suggestions and hints,     ALM to their tools. ComponentOne Studio
                         flexible and extensible. Microsoft’s history of       which can guide developers in the direction of       integrates with Visual Studio to facilitate the
                         openness around the Visual Studio platform            writing better code. These are generated not         addition of new controls to your apps, and
                         gives it an advantage as it’s already got an          when there are errors, but when the tooling          improve code reuse for .NET and for ASP.NET
                         ecosystem of developer tool partners with             detects that code could be improved, perhaps         applications. Where ComponentOne Studio
                         software that addresses many key developer            to make it more flexible, or more extensible in      goes the extra mile is in giving you the tooling
                         issues. If the ALM feature you want isn’t in Visual   the future. Having a software-based pair             you need to simplify the use of common
                         Studio or TFS, then you can probably find it          programmer in your IDE is a surprisingly useful      JavaScript libraries in HTML/JavaScript Windows
                         from a partner, or even build it for yourself.        tool, especially when working in a distributed       Store apps and on the web.
                                                                               team where code review becomes a complex                   The acquisition of Telerik by Progress has
                         Third-party tools                                     process. ReSharper’s library of fixes also help,     brought its tooling into a cross-platform mobile
                         Plugging a third-party tool into Visual Studio        giving you tools to correct your code, and           development platform you can use with your
                         2017 makes a lot of sense. Its built-in               letting you pick an appropriate solution.            choice of IDE, and a cloud-hosted test platform
                         Marketplace gives you quick access to a wide                As well as in-line code inspection,            to ensure your code works across multiple
                         selection of both trial versions and full tools       ReSharper can work across an entire project,         devices. Progress also provides a set of Visual
                         that add many new ALM-related features to             identifying code that might be redundant.            Studio plugins for its test suite which tests
                         your IDE.                                             Architects can go beyond the built-in                across multiple technologies using tests that
                              One popular plug-in is JetBrains ReSharper.      inspection tools to add their own rules, making      can be written in familiar .NET languages.
                         Designed to help improve the code you write,          it easier to handle new APIs and applying                  Any ALM solution must go beyond the
                                                                               coding standards so that the code becomes            code of an application and drill down into the
                                                                               easier to maintain and easier to migrate to a        APIs it interacts with and the data it uses. That’s
                                                                               new version. Similarly, you can use the various      why it’s good to see Visual Studio 2017
                                                                               refactoring tools to refine your code, for           including Redgate Data Tools as part of the
                                                                               example turning classes into interfaces (or vice     suite available through its installer. ReadyRoll
                                                                               versa) as well as handling method calls and          Core is included for handling the automation of
                                                                               managing strings for localisation.                   database changes, with tooling for source
                                                                                     ReSharper’s legacy as a tool for handling      control as well as database development. Using
                                                                               .NET refactoring makes it a powerful tool for        tools like this you can reduce the risk of errors
                                                                               managing how your code changes, working              from database upgrades and safely deploy new
                                                                               quickly across an entire solution and not just a     schema and templates. Other tools included
                                                                               single file. Refactoring can also cross language     add improved SQL code completion as well as
                                                                               boundaries, so if you change a property name         tools that simplify the process of searching for
                                                                               in an XAML file, those changes can reflect back      objects across the many databases that you’ll
                                                                               into the underlying C# code.                         find in a typical enterprise-scale application.
 ReSharper’s code hinting gives you a lot of help in improving                       JetBrains offers a large family of .NET
 your code quality. It’ll even fix Microsoft’s own code!                       tooling, which don’t only work with individual       Beyond the code
                                                                               copies of Visual Studio but can become part of       Visual Studio 2017 and its associated tools give
                         it’s a tool that adds on-the-fly code analysis        an overall approach to code hygiene. By mixing       you much of what you need to deliver an ALM
                         features together with tooling to help you write      code editor enhancements with profilers and          solution to your development team. Mixing
                         correct code. Perhaps its best-known feature is       test tooling, working alongside TFS, you can         cloud and third party tooling lets you pick and
                         its code inspection tooling, showing you errors       give your developers the IDE they need to            choose the elements you need whatever the
                         as you type together with the code that’s             interact with much of the tooling necessary for      code you’re building, whether it’s a simple
                         affected by your latest edits. Visual indicators      an ALM implementation.                               application for use inside a business, or a
                         show the code that needs to be edited, with                 ALM is about a lot more than just the          cross-platform cloud-powered app with mobile
                         tooltips to give more detail and make                 development process. It starts with effective        clients on Windows, iOS, and Android.
                         suggested corrections. There’s support for more       requirements capture and design prototyping.              Whatever combination of tools you use,
                                                                               Tools like Infragistics Indigo Studio work here to   ALM lets you go beyond your code, giving you a
      i                                                                        capture user stories and map them to design          deeper understanding of what your code needs
              Find out more                                                    prototypes that can then be used to define the       to do, why it needs to do it, and how it’s going
                                                                               APIs and data needed to deliver an application.      to be delivered. It means your apps can be
   For more information on ALM, see the Grey Matter website at                 The same tool can wrap the entire design and         better targeted, better designed, and much
   www.greymatter.com/corporate/development/. Alternatively call               development process, getting user feedback at        more reliable. For developers, architects, project
   01364 654100 or email maildesk@greymatter.com.                              all stages. Collecting actionable feedback and       managers, and for users, that’s all going
                                                                               delivering it to designers and developers lets       to be a big win.

20           Spring 2017 • Issue 71 • HardCopy
You can also read