Microsoft

Blog Categories

Subscribe to RSS feed

Archives

Follow Microsoft Technologies on Pinterest

Guest Post: Extend Business Processes to the Cloud with Nintex

VadimNote: Today’s blog post comes from Vadim Tabakman, Technical Evangelist for Nintex with over 8 years of experience in SharePoint and Nintex technologies. He understands how SharePoint, business process automation and forms can join forces successfully in numerous industries and business scenarios to drive business adoption and succeed in SharePoint projects. Vadim brings an excellent technical perspective to the discussion of how to use SharePoint workflow and forms to solve business needs.

As businesses grow, the need for the automation of business processes grows with it.  With that need, the inevitable discussion of  hardware support and scalability comes up.  Can your current hardware and software environment support your ever growing need?  How much of an investment will you need to make, in order to accomplish your automation needs and will there be future investments or upgrades needed as requirements grow even more?

Those are the types of questions that come up and Microsoft and Nintex have expanded their product offerings to help answer those questions.

nintex

Firstly, living in a SharePoint world, companies need to consider the investment required for the different types of SharePoint servers.  You have Web Front End servers, Application server, Index servers and Database servers.  Over time, the user base grows and adoption grows with it.  This results in additional servers required in the on-prem environment to cater for that growth.

In comes the world of the cloud and Office 365.  Office 365 takes away the worry of growth and scalability as it is hosted on Azure and that handles all of that for you.  But really, what is SharePoint without Nintex Workflow and Forms?  Nintex Workflow and Forms have been available in the Office 365 SharePoint Store since the Microsoft Worldwide Partner Conference in 2013 and are fundamental tools for companies to help with automating business processes and driving user adoption. Read the rest of this post »

On-Premises BI Gets a Boost in SQL Server 2016

At their recent Ignite conference in Chicago, Microsoft unleashed a flood of new information about their products and services across a wide variety of functions.   Business Intelligence was not left out, by any means, with announcements of exciting new cloud-based offerings such as Azure Data Warehouse and Azure Data Lake.  But given all the focus on Azure and cloud lately, one has to wonder: what about good ol’ SQL Server?  Well, wonder no more.

SQL Server 2016 will include a host of new features related to BI.  In fact, Microsoft claims that SQL Server 2016 will be one of the largest releases in the history of the product.  From hybrid architecture support to advanced analytics, the new capabilities being introduced are wide-ranging and genuinely exciting!

Providing an exhaustive list of new features and enhancements would be, well, exhausting.  And the information is currently covered in good detail on the SQL Server product website.   But here’s a few items that caught my eye from a BI perspective….

For classic SQL Server BI components:

  • SSDT/BIDS will now (finally) be unified in Visual Studio.  After the last few years of trying to get VS and SQL set up for development across various versions, this is a welcome change
  • SSAS Multidimensional is getting some attention (finally), with Netezza and Power Query being added as supported data sources.  Also expect some performance improvements, and support for DBCC.
  • SSAS Tabular is also getting some VERY welcome improvements: Power Query as a data source, support for Many-to-Many relationships (hallelujah!), additional new DAX functions, and some cool in-memory scalability enhancements
  • SSIS 2016 will also support Power Query, and will integrate with Azure in a number of very useful ways (an Azure Data Factory Data Flow task, for example), and will get some other helpful updates
  • SSRS, after being neglected for several releases, is getting a number of great improvements including additional chart types, cross-browser mobile support, improved parameter functionality, CSS support for custom report themes, and the ability to publish SSRS reports on Power BI sites!
  • Even Master Data Services (MDS) is getting some needed improvments, particularly around performance and security.

And on the Advanced Analytics front:

  • Revolution Analytics R is being integrated directly into the SQL Server relational database.  This will allow developers to access predictive analytics via T-SQL queries, and will support deploying R models as web services in the Azure Marketplace
  • PolyBase, the “secret sauce” in the PDW solution that allows T-SQL querying of both SQL Server and Hadoop data, will be available within SQL Server –WITHOUT needing an APS

So, clearly, lots of changes and enhancements are forthcoming in SQL Server 2016.  While Microsoft’s “cloud first, mobile first” initiative has left many on-premises SQL Server users feeling left out, SQL Server 2016 should bring a bright ray of hope.  We should expect to see Microsoft technology developed for cloud make its way into on-premises products going forward, and SQL Server is a perfect example of that trend.

Webinar: O365 Deployment, Security & Management Best Practices

Joe Palarchio Ignite

Perficient’s Joe Palarchio presents a session on Exchange hybrid at Microsoft Ignite

As we get back into the swing of things after heading home from Microsoft Ignite (some of us didn’t have to go very far, lucky Chicagoans), we’re excited to have a bunch of new webinars lined up on various topics. One was today, on Skype for Business – stay tuned for that recap!

Next up, on Wednesday, June 3 at 1 pm CT, Joe Palarchio, Lead Technical Consultant at Perficient, who presented a session at Ignite on Exchange in a hybrid environment, will be teaming up with Chris Webber, Director of Product Marketing at Centrify for a webinar on Proven Practices for Office 365 Deployment, Security and Management.

When it comes to email platforms, Office 365 Exchange Online has quickly become the choice solution for many enterprises as they move from an on-premises environment to the cloud. In this session, you will learn how single sign-on and automated account provisioning for Office 365 can stop the cloud password sprawl, close security holes and free up IT time for new projects.

You’ll also see how to:

  • Drive cloud app adoption and eliminate password sprawl
  • Centralize, standardize and automate access management – across apps and devices
  • Leverage active directory, without the expense and risk of replicating it
  • Provide seamless access to on-premises apps without the hassle of VPN
  • Simplify with a Microsoft-validated alternative to AD FS, DirSync, and Azure Active Directory

We hope you can join us to learn how to get ahead of cloud challenges you may be facing and simplify your deployment of Office 365. Sign up today!

 

Office365 May Updates Enhance Power Map

In the May 2015 update for Office 365, Power Map users get a number of enhancements and new features.

Unfamiliar with Power Map?  It’s one of the “Power Tools” that are part of the Power BI offering as included in Excel 2013 and Excel Pro Plus in Office 365,  Power Map provides some very cool presentation capability around geospatial data.  Basically, it’s a data storytelling tool oriented around geospatial data.   It integrates with Bing Maps to provide various 3D visualizations of geographically oriented data (think heat maps and other similar map-oriented data visualizations).  Once you have created your map, you can make a video “Tour” of it and use that for presentations, etc.

To illustrate, here’s a video we made about using this tool:

 

As you can see, the existing features are pretty cool. But this update adds some interesting new ones. First, you can now create Custom Regions in your Power Maps. While it was possible to use various map shapes previously in Power Map, you can now define things like Sales Regions, School Districts, electoral maps, etc. Additionally, some other great customization features have been added including the ability to control formatting of map legends, to control text box foreground and background color, and more.

Read more about the details here, and happy mapping!

Microsoft Azure Data Platform Capability Expands Yet Again

Yet again, Microsoft builds on their increasingly compelling Data Platform story by bringing out new offerings.

As my colleague Stan Tartinovksy wrote last week, Azure Data Warehouse is coming.   But that’s not the only new piece of the Microsoft data environment.

Also announced at the Ignite 2015 conference was a new Elastic Databases feature for Azure SQL Database.  This feature is ideal for developers who build SaaS applications that use large numbers of databases to scale to unpredictable resource demands.   Rather than needing to overprovision in order to accommodate peak demand, developers and sysadmins will be able to use Elastic Databases to configure a database pool to help share resources across multiple databases (upwards of thousands) within a controllable budget   Microsoft will also be making tools available to help query and aggregate results, as well as to implement policies and perform transactions across the database pool.

And the other major new offering is Azure Data Lake.  A Data Lake is a hyper-scale data store for big data analytic workloads, designed as a single place to store every type of data in its native format, with no fixed limits on account size or file size, and with high throughput to increase analytic performance.  Azure Data Lake is a Hadoop File System, compatible integrated with Azure HDInsight.  It will also be integrated with Revolution-R Enterprise and industry standard Hadoop distributions like Hortonworks and Cloudera, not to mention supporting individual Hadoop projects like Storm, Spark, Kafka, Flume, etc.

Elastic Databases for Azure SQL Database is currently in preview.  Azure Data Lake will be released to preview later in 2015.

 

Azure: Did You Know? Bulk Import/Export

microsoft-azure-logoWhen moving to Microsoft Azure, you may need migrate large amounts of data to the cloud. Traditional upload methods require moving that data across the public internet, which can be limited by a number of factors. The Azure Import and Export service for storage allows you to ship data into or out of an Azure Storage account by physically shipping disks to an Azure datacenter. Read the rest of this post »

Microsoft Ignite 2015 Sway

If you have already played with Sway (member of Office 365) then I bet you’re in love with it, and if you have not yet then you’re going to love this. I thought of presenting a recap of the conference in the form of a Sway publicly available here. Sway is an app that lets you express and share ideas in a very new way, using any browser on a PC, Mac, or tablet.

sway

 

Are you using Sway? If so – what do you think about it?

Sitecore Glass.Mapper: Concrete Classes vs Interface Mapping

glass mapperGlass.Mapper is a great object-relational mapping (ORM) tool built on .NET for the Umbraco and Sitecore platforms. As a Sitecore Platinum Implementation Partner, Perficient and its developers use the best tools available, and Glass.Mapper is right up there in our preferred Sitecore tool belt.

As a Sitecore developer interested in using Glass.Mapper, you should consider one important architectural decision that can really impact ease of development and long-term maintenance of your project: should you write C# interfaces or concrete classes to represent Sitecore data?

The Basics: Templates to Objects

At its most basic, Glass.Mapper maps a Sitecore template to a strongly-typed C# object – very POCO friendly. Template fields are exposed as read/write properties, and distinct classes allow for easy testing. This allows you to quickly mirror your templates in code and have easy access to your content fields.

Best of all, Sitecore’s multiple template inheritance can be easily represented via Glass.Mapper, but here’s the catch: C# does not allow multiple inheritance for concrete classes, but does support the concept via interfaces. With this in mind, is there a best practice for designing classes/interfaces with Glass.Mapper? Let’s take a quick look at both options.

Concrete Classes

While concrete classes lack multiple inheritance, they do support base classes, which can be useful for modelling Sitecore’s basic item fields (ID, ItemName, DisplayName, Path, etc.) on a base class, then extending that with a template definition as necessary. This also lets you add methods directly on the classes, which helps consolidate business logic and simplify discovery of functionality.

Because inheritance options are limited, concrete classes work best for content with simple structures and limited repeatability – in other words, a site with a small number of Sitecore templates or those with overall simple structures.

Interfaces

Because interfaces can be inherited multiple times, Sitecore items with multiple templates are a natural fit.

In my experience, this works best when you keep data modelling simple: use interfaces to model Sitecore templates as if you were building simple POCOs. Start by creating an interface based on each of your templates (including necessary inheritance from other templates), then let Glass.Mapper do the heavy lifting of mapping across all said interfaces. Don’t try to implement concrete classes and extend logic or add custom fields/properties. Just read/write data from Sitecore and use helper classes or extension methods to add functionality around your models.

Previous versions used the Castle Windsor IOC library to generate proxy objects, but the new-for-2015 Version 4 uses the factory pattern to accomplish the same thing.

For additional information on interface implementation with Glass.Mapper, refer to this documentation.

Choose Wisely

Glass.Mapper works best when your data modelling is kept simple: use C# interfaces to model Sitecore templates. Only consider concrete classes for simple data structures and small websites. If you want to mix-and-match, you can define interfaces and implement concrete classes farther down the inheritance tree, but remember that you will have to implement methods and members for all inherited interfaces – which negates the simplicity of Glass.Mapper quite a bit.

Ignite 2015 Recap – Top 3 Sessions to Replay

ignite mainWelcome back from a great Ignite Conference! By now, I hope everyone knows that the conference recordings are posted to channel9, a section of MSDN. Microsoft does a great job of recording and publishing all of this content quickly, its pretty awesome.

One of my biggest challenges at the conference was knowing which session to pick. There were 3-6 sessions at any given time that I wanted to go to. All week it was like that, crazy.

This year, Microsoft added “foundational keynote” sessions. Sadly, most of them were on Monday and over-lapped each other. I went back and downloaded the videos and they are all amazing, filled with product name changes, roadmap discussions, and a very transparent look at Microsoft’s Cloud Strategy. Read the rest of this post »

Azure: Did You Know? No Integrated Authentication in SQL Azure

azure sqlMicrosoft Azure SQL Database is very similar to on-premises SQL Server, but there are a few key differences. One of these difference is that SQL Azure doesn’t support integrated authentication (i.e. when caller is identified by its domain account). I assume this is a technical limitation which could be explained by the lack of domain infrastructure in Azure cloud. Integrated authentication requires client and server to be in the same domain or in trusted domains, which would be complicated in the cloud scenario.

So, the only way to connect to Azure SQL is to provide a user name and password in connection string. This authentication method is traditionally considered to be less secure than integrated authentication because user name and password are exposed as a part of connection string which in most cases resides in application configuration file, unencrypted. The recommended mitigation for this security issue would be to store Azure SQL connection string in some secure place, like, for example, in Azure Web App settings. In this case, when Azure Web App (formerly – Web Site) is deployed to Azure, Azure settings taking precedence over deployed settings, so if Azure Web App have any stored connection strings then these connection strings will be used.