Building Microsoft MEAP: Introduction

After years of showing you how to integrate the principles of Gartner MEAP into your organization’s mobile strategy, it’s now time for me to show you how to roll up your sleeves and actually build the Microsoft Mobile Enterprise Application Platform.

I’ve travelled all over the world assisting Chief Information Officers in the development of their end-to-end mobile strategies.  Time and again, these CIOs inform me that pushing corporate data from their backend systems out to the wireless devices used by their employees is a top priority.  This makes perfect sense because of the productivity and efficiency gains an organization accrues when employees are allowed to work anytime from anywhere. That timely information from backend systems empower employees to make better decisions at the point of activity.  Of course, this works in two directions.  Employees capture data at that same point of activity and it flows from the field to those backend systems.  When data is allowed to flow bi-directionally in real-time, this speeds up the cadence of decision-making and gives the organization a competitive advantage.  We saw this years ago with mobile email.  When you combine wireless data networks, mobile devices, and a mechanism to seamless move critical data, you’ve created the most powerful weapon in business.

The Real-Time Enterprise.  This is where a Mobile Enterprise Application Platform comes into play.

Just in case you’re unfamiliar with MEAP, it represents software and services that allow IT organizations to extend corporate apps and data out to mobile employees and business partners.  This is most often accomplished via reusable mobile middleware components capable of supporting multiple mobile apps, multiple mobile operating systems, and multiple backend systems to maximize your ROI vs. tactical point solutions.  Think of this as a server façade in front of your backend systems and databases.  You might consider using a MEAP solution if your organization doesn’t have a mature SOA infrastructure or if your backend systems aren’t vertically-integrated to provide mobile client apps and connectivity.  Gartner has a technology checklist of critical capabilities that a given MEAP solution must match up with in order to be considered.  Since this series of articles is all about building the Microsoft MEAP solution, I’ll provide you with some guidance as to how Microsoft aligns with each of the critical capabilities:

  • Integrated Development  Environment:
    • Gartner Definition: Dedicated environment or plug-in for composing backend server & client side logic, including UI.
    • Microsoft Offering: Visual Studio
    • Value Proposition:  As the world’s most widely-used commercial IDE, you’re more likely to find plenty of proficient developers than with any other MEAP offering.  Additionally, developers are more productive since they don’t have to use different or specialized tools to target laptops, tablets, smartphones, servers, or the cloud.  Competing MEAP vendors have unfamiliar native and hybrid SDKs or 4GLs while Microsoft has millions of seasoned developers.
  • Application Client Runtime: 
    • Gartner Definition: The client runtime logic for the application, either in native format or packaged within a container.
    • Microsoft Offering:  WinRT, .NET / Silverlight for thick clients and Internet Explorer for thin clients.
    • Value Proposition:  WinRT is supported across Windows 8, Windows RT, and Windows Phone 8.  .NET/Silverlight are supported across Windows, Windows Phone 7.5, Macintosh, Windows Mobile, Windows Embedded, and Symbian S60.  Internet Explorer 10 brings hardware-accelerated HTML5 and JIT-compiled JavaScript to Windows 7/8, Windows RT, and Windows Phone 8.  The only thick client runtime that’s competitive with Microsoft offerings is Java.  The thin client competition takes the form of fragmented WebKit-based browsers.
  • Enterprise Application Integration Tools:
    • Gartner Definition:  Tools for integration of mobile server with back end systems, both bespoke & purchased apps or application suites.
    • Microsoft Offering: Visual Studio SQL Server Data Tools.
    • Value Proposition:  Developers visually compose connections, actions, events and data movement rather than writing separate sets of integration code.  Adapters provide consistent connectivity to dozens of backend systems and data sources.  Microsoft is providing unrivaled, easy to use, drag and drop tools to connect ETL adapters with backend systems and databases.
  • Packaged Mobile Apps or Components:
    • Gartner Definition:  Self standing mobile applications or components.
    • Microsoft Offering:  Cross-platform offerings include Office, Internet Explorer, Bing, Lync, Skype, Tag, .NET Portable Class Libraries, and Exchange ActiveSync (EAS).
    • Value Proposition:  Same business productivity apps available across Windows, Windows Phone, the Web and the Mac.  Corporate and consumer communications are available across all platforms.  Portable class libraries allow developers to reuse code across phones, tablets, laptops, and the web.  The EAS client found in every major smartphone and tablet gives more people around the world access to Microsoft email, calendaring, contacts and device management than any other technology from any other competitor.
  • Multichannel Tools or Servers:
    • Gartner Definition:  Tools that allow for “write once, run anywhere” thick or rich mobile clients, cross compilers or environments or platforms that allow business logic to be supported across thin, thick, and rich mobile architectures.
    • Microsoft Offering:  Tools like Visual Studio allow development of cross-platform thick and thin apps.  Multi-channel transports like HTTP/SOAP/REST/EAS/XML/JSON, OData, and the Sync Framework support communication with any mobile client. Server technologies like Unified Access Gateway (UAG) and Azure securely publish services to any device.
    • Value Proposition:  Microsoft provides more tools, transports, and servers to securely enable any device than all competitors combined.  There’s a strong chance that your organization already owns these technologies.
  • Management Tools:
    • Gartner Definition:  Tools to provision, support, debug, update or decommission mobile apps.
    • Microsoft Offering:  System Center Configuration Manager (SCCM), Windows Intune, Exchange Server, Windows Store.
    • Value Proposition:  Exchange Server is a great BYOD solution that provides policy enforcement to every device that support EAS.  SCCM 2012 and Windows Intune support software distribution + device management of Windows, Windows Mobile, Windows Phone, Symbian, iOS, and Android devices.  Yes, this is the same SCCM product that has been around since the early 1990’s and already manages hundreds of millions of desktops, servers, and laptops with its enterprise-proven capabilities.  If you haven’t bought an MDM package yet, don’t panic.  The Exchange Server that most of the world’s organizations use for email will provide you with a solid baseline of policy enforcement and security to keep you covered.
  • Security:
    • Gartner Definition:  Secure enterprise data on device, while moving through wired & wireless networks, peripherals, & with backend systems & integration packages.
    • Microsoft Offering:  Policy enforced login, AES encryption for data at rest on the device and SSL for data in transit.  Apps tested, digitally signed & securely delivered via Windows Store or privately within enterprise.  Data at rest in client and middleware databases is encrypted.  SSIS integration packages are encrypted and signed.  Perimeter protection is accomplished in the DMZ via Unified Access Gateway with deep packet inspection.  Data leakage is mitigated via Microsoft’s Information Rights Management Server to lock down and/or expire emails and documents.
    • Value Proposition:  Microsoft technologies provide end-to-end security at every tier.  All bases are covered including data at rest, data in transit, perimeter protection, and data leakage prevention.
  • Hosting:
    • Gartner Definition:  The ability to host all development, provisioning, management functions, and optionally corporate data in the cloud.
    • Microsoft Offering:  Windows Intune, Windows Store, Windows Azure, Office 365, Team Foundation Service.
    • Value Proposition:  All Windows 8 and Windows Phone 8 apps are provisioned from the cloud.  Seamless location-based services and push notifications are provided to apps and live tiles from the cloud.  A wide range of mobile clients can access Azure services and storage via interoperable protocols like SOAP, REST, OData, XML, and JSON.  Azure Mobile Services provides rapid cloud development, storage, authentication, and push notifications across multiple mobile platforms.  No other MEAP vendor even comes close to providing this deep level of PAAS, SAAS, and IAAS capabilities as Microsoft’s cloud.

A visual representation of many of these critical capabilities is shown below:MEAP

Looking at the picture above, you see a thin line going across horizontally.  Everything below the line represents client capabilities whereas everything above the line lives in your data center or in the cloud.  On the left side you see both the client and server elements of device management and your integrated development environment illustrated in blue.  Staying below the line you see green blocks that represent thick and thin client runtimes as well as offline storage.  You might be wondering why I included native and web-based offline storage when they aren’t listed as critical capabilities.  In a world where there’s no such thing as a ubiquitous wireless network, you must be able to pre-fetch and store data offline so that your employees can keep working in the absence of connectivity.  Moving above the line, you see that all clients connect to your server infrastructure via a multichannel access gateway.  This is an edge server that provides reverse-proxy and/or VPN services.  Above that you have mobile middleware components that handle data integration, web communication, auth/security, caching, and potential data aggregation.

Now let’s move away from the generic view of a MEAP infrastructure and zoom into why organizations think this stuff is important.  It’s the tidal wave of devices!MEAP2

The use of corporate-liable wireless devices combined with the BYOD phenomenon has made “Mobile” the largest megatrend in the world of enterprise technology.  It’s already the largest megatrend with consumers.  Nothing else even comes close.  Now while I’d prefer that you use Windows Phones, tablets, and laptops, I want to make it easy for you to use your existing Microsoft server stack to support any mobile endpoint.  I realize that there is one large, and many small MEAP vendors in the marketplace.  In fact, the largest of those vendors is making a concerted effort to corner the enterprise mobile market via a number of MDM and MEAP acquisitions.  You should realize that there’s limited value in dropping potentially millions of dollars on unfamiliar server infrastructures and development technologies that aren’t nearly as easy to configure and work with as it says on the sales brochure or in the marketing demo.

Pragmatically speaking, you should use the Microsoft server stack you already own to provide your organization’s MEAP solution.

In the forthcoming articles I’ll be writing, I’ll bring your CIO’s top priority to life:

  • I’ll show you how to configure your own Mobile Middleware that integrates multiple data sources and acts as a server façade.  Microsoft SQL Server forms the core of your system where SQL Server Integration Services (SSIS) adapters connect to dozens of data sources and backend packages.  SQL Server aggregates, caches, and secures the composite data retrieved from those systems to boost client performance while reducing the load on backend systems.
  • I’ll show you how to easily expose this composite data via Web Services in a format consumable by any device.  Business entities built using .NET will model the schema created by the aggregated data.  Internet Information Services (IIS) and the ASP.NET Web API will expose those business entities to mobile clients.
  • I’ll describe how you can horizontally scale out your data tier in your Private Cloud while also providing geo-replication to additional data centers using SQL Server Transactional Replication.  This will be combined with the scaling-out of your web service tier via load-balancing.  If that’s not enough, you can take this high-level of scalability and performance to the next level using Microsoft AppFabric Caching to provide an in-memory distributed cache.
  • A Multi-channel Access Gateway is used to securely publish this data out to the Internet.  I’ll discuss how this task can be carried out by Microsoft Forefront Unified Access Gateway via the same mechanism you’re already using to provide email from your Exchange Servers to mobile devices.
  • Last but not least, I’ll show you how to consume these web services from a Windows 8 tablet app so your employees can work with data and perform transactions offline.  All along the way, you’ll see how I use a single IDE, Visual Studio, to bring every tier of your solution to life whether it be server logic, integration with backend systems, client logic, or UX.

Remember, the infrastructure folks in your IT department already know how to build, configure, and maintain the servers needed to build Microsoft MEAP.  At the same time, your developers get to leverage the .NET and web service skills they’ve been perfecting for the last decade.  The top priority for CIOs is to extend their organization’s critical data from their backend systems out to mobile devices.  I’m going to show you how to build it using the skills your IT folks already have, and the software and servers you already own, with support from the world’s largest software company.

– Rob

Windows Phone: Building Enterprise Apps

The essence of enterprise mobility is the secure extension of the critical data from an organization’s back end systems out to the mobile devices used by employees. Windows Phone is an enterprise-class smartphone with the capabilities needed to empower employees to create an agile, real-time enterprise.

At TechEd Europe, I walked the delegates through all the elements required to build an end-to-end mobile line of business solution. I demonstrated how to use SQL Server 2012 and IIS as mobile middleware where SSIS adapters facilitate the aggregation of data from multiple back end systems and the ASP.NET Web API exposes that data via wireless-friendly, REST + JSON web services. From there, I demonstrated how to securely publish that data out to the Internet without the need for a VPN using UAG. I wrapped things up by showing how Windows Phone apps can consume data and store it offline so employees can continue to be productive in the absence of network connectivity.

Chech out the video below to see how you can mobilize your enterprise with the Microsoft Mobile Enterprise Application Platform (MEAP):

 

As always, let me know how I can help you achieve your goals in the enterprise mobility space.

Best Regards,
Rob

Windows Azure at Seattle Interactive Conference

Join the Windows Azure team at Seattle Interactive Conference (Nov 2 -3, 2011) for two days of technical content and one-on-one advice and assistance from product experts.  Cloud Experience track is for experienced developers and who want to learn how to leverage the cloud for mobile, social and web app scenarios.  No matter what platform or technology you choose to develop for, these sessions will provide you with a deeper understanding of cloud architecture, back end services and business models so you can scale for user demand and grow your business. 

Learn more about the Cloud Experience Track at SIC, and view the speaker list.  Registration for the Seattle Interactive Conference is $350, and includes full access to conference sessions and activities.

SIC is developing a world-class speaker roster comprised of online technology’s most successful and respected personalities, alongside earlier-stage entrepreneurs who are establishing themselves as the leaders of tomorrow. SIC isn’t just about telling a story, it’s about truly sharing a story in ways that provide all attendees with a thought provoking experience and actionable lessons from the front lines.

Our confirmed speakers include:

 

Wade Wegner

Microsoft

Wade Wegner is a Technical Evangelist at Microsoft, responsible for influencing and driving Microsoft’s technical strategy for the Windows Azure Platform.

 

Rob Tiffany

Microsoft

Rob Tiffany is an Architect at Microsoft focused on combining wireless data technologies, device hardware, mobile software, and optimized server and cloud infrastructures together to form compelling solutions.

 

Steve Marx

Microsoft

Steve Marx is a Technical Product Manager for Windows Azure.

 

Nick Harris

Microsoft

Nick Harris is a Technical Evangelist at Microsoft specializing in Windows Azure.

 

Scott Densmore

Microsoft

Scott Densmore works as a Senior Software Engineer at Microsoft.

 

Nathan Totten

Microsoft

Nathan Totten is a Technical Evangelist at Microsoft specializing in Windows Azure and web development.

 

I hope to see everyone there!

-Rob

Build the Mobile Web with WebMatrix

Build mobile web sites that adhere to W3C Mobile Web Best Practices using the new WebMatix web development tool.  This tool introduces simple-to-use ASP.NET Web Pages which don’t follow the MVC pattern nor do they include server controls like WebForms.  It also introduces the “Razor” templating engine and a model where you have HTML and inline code where needed.  This way to building sites is easy and flexible and takes me back to the golden age of Microsoft ASP web development in the late ‘90’s.

Our favorite mobile database, SQL Server Compact 4.0 finds it’s way to the web with this tool providing a simple way to give your mobile web site a database.  It’s been beefed up and tuned for the stress of providing data services to Internet and supports 256 concurrent connections.  Since it’s a file-based database, you just copy it along with your web pages to your on-premise server, web hosting provider or Azure.

Last but not least, you get IIS Express which is a welcome replacement for the Cassini development web server currently used by Visual Studio.  This gives all developers the power of IIS 7.x without needing Administrator access to their box, even if they’re running on Windows XP.

The lightweight, inline-code nature of developing with WebMatrix makes it easy to build low-bandwidth sites that follow XHTML Basic 1.1 recommendations so you can target any mobile web browser.  From there, it’s up to you to determine if you want to support more advanced features found in mobile browsers like IE Mobile, Opera, or Webkit (iPhone, Android, webOS or Blackberry).

– Rob