Visual Studio 2017 - Cloud Security Keeping your data secure and legal - Grey Matter
←
→
Page content transcription
If your browser does not render page correctly, please read the page content below
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
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
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
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
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
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
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