One of the reasons behind Professional Advantage’s ability to quickly develop robust customer relationship management (CRM) based applications such as UpBeat, is a specific development framework. This framework provides an advanced mechanism for CRM developers to 1) produced sound, repeatable outcomes quickly, without needing vast and in-depth knowledge of the CRM software development kit (SDK) and 2) deliver capabilities that are not readily available from the core Microsoft Dynamics CRM SDK library.

The Professional Advantage framework represents a multi-component layer of non-business related logic that resides between the CRM SDK and the business logic. This layer was aptly given the title of ‘framework’ because it represents a structure for supporting a rapid implementation of a CRM development solution across multiple technologies and process models.

As previously mentioned, the framework represents a layer of non-business related logic that resides above the CRM SDK. This means that the maintenance requirement of any CRM product or customisation using the framework is minimal when new CRM versions are released to market. This is a key factor for clients to consider when investing in bespoke CRM development. Applications developed using the Professional Advantage framework provide a level of future proofing during an upgrade process that is not available for pure CRM customisation work.

The Professional Advantage framework comprises two aspects: a core application programming interface (API) library and a collection of framework adapters.

On its own, this core component is pretty powerful and it is this core component that provides a high level API layer to the CRM SDK. The core framework module may be used in both online (cloud) and on-premises environments. This core component, however, is process agnostic meaning that it is simply an API that may be consumed in any process. This core component may be used in CRM plug-ins, workflows, ASP.NET processes, WCF applications, Silverlight applications, Window Service applications, Console, Forms and WPF applications. Suffice to say that the core module is an API.

The framework adapters, as the name suggests, allows the framework core API to adapt and be consumed by a specific process type. An adapter provides all of the API capability in the core framework module as well as API capability and runtime context specific to that process type. For example, an ASP.NET framework adapter will provide CRM connectivity and authentication straight out of the core framework API as well as providing process ASP.NET runtime context and ASP.NET impersonation tools and much more.

The core framework and adapter design provides a componentised architecture where the implementer may use the core framework API on its own or with as many adapters as is required to implement a solution. Better yet, if the solution requires involvement of multiple processes, the developer’s code may exist in the one code Assembly/Module/file.

All of the technology capability is at the hands of the developers simply by creating a reference to the framework API and its respective adapters. All the developer need be concerned about is the business logic implementation. Best of all, this entire implementation may exist in a single class (file) simply by implementing each adapter interface. For the non-developer audience, this simply means you can have your code to run in a specific process by subscribing to it in your code with one line of code. The implementer need not know how the Windows service loads the code module, or how the AJAX.NET JavaScript call on the browser ended up running the code stub on the server because the Core API module and its adapters takes care of all underlyingframework!

Blog written by Chris Pennington, Consultant to PA. The opinions expressed here are the personal opinions of the writer. Content published here does not necessarily represent the views and opinions

 You can read more about Professional Advantage and Microsoft Dynamics CRM here or Upbeat here.

Write A Comment