Honestly speaking, as a developer I should not worry but be informed about future course of the InfoPath form, evolution and its life cycle in the near future.



And also I spend much time to write this article , and promised to myself to complete this before Microsoft's new migration strategy and new enhanced form technology alternate to InfoPath sneak preview announcement in March , 2015

Microsoft’s discontinue plan, migration approach and its official supporting period these are the facts that need to be cared by IT Managers and Infrastructure guys.

As a developer now, I would suggest you to focus on the new development if your business requirement compels or quite fit into InfoPath forms then not hesitate to do so as Microsoft promises its support till April 2023.

 Microsoft promises also on the migration strategy and investing in the new enhanced form technology for on premise as well as Office 365. At end of this article, I corroborated what could be the future form technologies for SharePoint environment may be its not hudred percent correct but I believe eighty percent it could be the future.

Always remind yourself that are on the pilot seat and have on helicopter view on to drive, debug, enhance, implement and support your customer’s business requirement. Always remind that Microsoft will never change its form technology paradigm InfoPath suddenly that it invested in and developed since 2003.

By understanding and learning the InfoPath, will never let you down in the future as you might became more experienced and  you’ll be better informed about the Form technology irrespective of cloud,hybrid or on premise based.

And also remember there are plenty of established vendors  who invested in Application Migration (3rd party tools) business and they are key players in changing the whole IT infrastructure to Microsoft Platform. Even I heard about the incident a mid-sized business wanted to migrate Lotus Notes and Documentum based application to SharePoint and subsequently ended up changing their whole IT infrastructure to MS platform that’s really win-win situation for Microsoft and of course business too.

So I would urge you to look into InfoPath development or at least you must be capable to support your existing InfoPath implementation till your customer adopt to next level of form technology.

After all SharePoint 2016, will be there at least for 12 years from now on so InfoPath forms , you'll be in the position to defend and guard the InfoPath form based implementation.

Here is my little bit technical info for you to understand the architecture behind this fantastic InfoPath Form.



On exploring this topic , I must be pointing out some of the benefits and caveats of the InfoPath form,



Advantages

  • Form can be connected with many data sources using BCS underlying technologies.
  • Close proximity with SharePoint Item content type and Form content type
  • Microsoft Accessibility feature available for visually impaired users.
  • Multiple hosting and deployment capabilities (SharePoint, Network location and Local File Share).
  • VSTA tool supported to incorporate advanced business requirement with C# and VB.NET programming.

Caveats

  • No separate page model (How nice , multiple developers working on rules , design and code base individually , so we could fasten the delivery process)
  • There is no defined approach to incorporate with version controlling system.
  • Multiple publishing options those often beginners found it are very confused and complex.
  • Need greater skills required for configuring the form with digital certificates and deploying into SharePoint.
  • No precise error description (few cases on developing the advanced form templates) to identify and troubleshoot the InfoPath form.
  • Browser limitation, you cannot edit the browser enabled InfoPath form except in latest version IE.
  • Even I found migrating these forms to SP 2013 is tedious process. Often I need to change the manifest file for changing the list GUID and host name (risky tasks) and mapping the folder structure on my environments.

Form Architecture

To understand this we need to learn and analyze the DNA of InfoPath Form.

The form structured its data with the base technologies XML, DHTML, XSD and XSL. To validate this copy the any published InfoPath form (.xsn) and extract with any unzip tool preferably “7-Zip” tool.

When you add the controls (Textbox, Checkbox, Radio and etc.) on InfoPath design surface, related markup will be added to “Schema.xsd” file using XML attributes.







This XSD Markup will controls the form and its logic using the “Rules, Action, Data flow and Views” in the form. These are backbone and nervous system in the InfoPath.

Rules are basically validating the user inputs and capture required and relevant data from

When you create the rule in InfoPath form, an InfoPath engines (Microsoft OpenXML standard) generates the related attributes in the schema file.

In this screen shot, I have created the simple validation for the title column in the form. If user missed out to blank, it will shows the error message “This field cannot be blank”.



Here is how the schema transform this UI design in to business logic through computer understandable.

These activities will be registered in the manifest.xsf file.You can open this file in the note pad to learn how this has been added.

We can also compare this file format with SharePoint’s manifest file.

 



 .





Have you noticed there are totally 5 schema files those are interconnected and render the InfoPath form through namespaces as show in this picture?

Open the “Schema.xsd”.

This is an instruction how to manage the documents (file systems), query the data source and rendering the field on the browser or client.



When you are hosting this form in the SharePoint, It’s become robust and dynamic user interface to capture the information and set the business logic (Workflows) based on information and user context.

In this article, How the InfoPath can be leveraged with SharePoint including Office 365.



Form templates available for SharePoint

  • SharePoint List Template

This form template is connected with “item content type” and you can customize the default new, edit, and view pages of the SharePoint list item. Advanced user can customize this form by placing the html, content editor web part or any other business connectivity web part on the page by using SharePoint Designer.

  • Email

This form template lets you to develop your own business requirement to collaborate outside of the SharePoint users (external users). You may send this form to be filled by external user and send back to you through email. Then you can add this form to a library to process (workflow) further based on the user inputs.

  • SharePoint Form Library

Its document by default “Form” content type used to store the forms. User often submits the form and it will be stored on the form library.

  • Blank Form 

This form lets you to define your own layout and design.

  • InfoPath Form filler – It’s an non browser form

Advanced Templates: This type of form templates is so intelligent and capable to retrieve the data from external data sources.(Not applicable for Office 365)

  • Database
  • Web Service (.asmx and WCF)
  • Data Connection
  • Document Information Panel

If you wanted to create the mash up kind of application in InfoPath form,

Example: Consider you are processing the credit history or account management form, how cool it is if you are able to see the customer’s reports or some analytical view from some other legacy data or LOB such as (SAP, Salesforce or any other CRM application)

Or when you are typing the business document in the word and wanted to quickly send the form details related to your business content, you can use the “Document Information Panel” without leaving or closing the document.

On complex project that requires large amount of developer’s effort and moving to staging server, then data connection based form templates are best suit.

How it’s working on SharePoint

SharePoint has built-in content type called “Form” under “Document Content Type” category. You have to attach your custom published InfoPath form to this content type.

By default, the forms hosted in SharePoint are a browser enabled. You have great degree of control over the form management in Central Administration and through SharePoint PowerShell cmdlets.

When you are hosting the forms in SharePoint, InfoPath forms talking to SharePoint through web service called “FormServices.asmx” using SOAP specification.  Each operation takes the parameters and returns the result to requesting components in SharePoint.

The scene behind this web service all, here is simple diagram to understand quickly,



If your business requires more features that are not available with InfoPath form, you are most welcome to use the Visual Studio (VSTA).

To learn more about this visit the below link

https://msdn.microsoft.com/en-us/library/office/ee526362.aspx

And also it’s good to have knowledge on “XPath and XSL” programming syntax.



Possible Form technology could be ,
Cloud first and Mobile first strategy , I see the "Light Switch" technology can be used for alternative to InfoPath form as its capable to collaborate with Client side programming, and dynamic UI generate capability using Entity Framework and Azure SQL.
Secondly , Light UI controls based on jQuery in conjunction with knockout and angular JS files
Thirdly , An new app model can be introduced with slightly modified current InfoPath form as "Content Task Pane".
Lastly, SignalR,node.js  and ASP.NET MVC5 could be used to create the form  application for Cloud and hybrid deployment.