CRM as a Rapid Development Platform
The Platform

§         Chapter 1- What’s new in CRM 4.0 – Microsoft Dynamics 4.0 has significant changes from the basic platform architecture to the tools developers use every day to create solutions.  This chapter introduces the changes and sets the stage for developers to understand how to build applications.

§         Chapter 2- Building Line of Business Applications – Everyone thinks of CRM for managing Contacts and Accounts, but Microsoft Dynamics CRM 4.0 can also be used to build line of business applications that are not just CRM.   We explore how you can leverage the platform foundation to build applications without doing the “plumbing” yourself.

§         Chapter 3- The Developer and Team Workspace – One size certainly does not fit all when it comes to developers.  This chapter explores how developers can setup their development environments to maximize their productivity building applications.  Included in this chapter are discussions on team development.

§         Chapter 4- Data Modeling in CRM – At the heart of any good CRM or line of business application is the data model. CRM allows developers to declaratively build the data model and work with it using all the power of the platform.  Here we talk about defining the data model and the basic user inputs to manipulate data.  This chapter is a must-read for a good understanding of the remaining chapters.

UI

§         Chapter 5- User Experience Customization – We start with the basics and then move beyond to look at how to do client side development including leveraging some OO techniques with JavaScript (Yes, we said OO and JavaScript in the same sentence!).

§         Chapter 6- Client Scripting How To’s – Having a basic understanding that we provided in Chapter 5 is great but here we dig into real world examples of common tasks you will want to do with the client side capabilities.

§         Chapter 7- Building Alternate UI’s – The built-in UI in the CRM platform is powerful, but in this chapter, we explore building alternate UI’s using Silverlight. 

Metadata and Web Services

§         Chapter 8- Exploring Metadata – Building on the data modeling in Chapter 4, we explore how you can programmatically access the platform metadata and use it as part of your development.  New to Microsoft Dynamics CRM 4.0 is the ability to use an API to modify the metadata in addition to read access.

§         Chapter 9- Using the Web Services – Web services are the SOA extension of the data model and dynamically configure to implement and expose the custom data model.  In this chapter, we learn the basics of working with the web services to interact with the platform.

§         Chapter 10- Web Services Common How-To’s – Having a basic understanding that we provided in chapter 9 is great but here we dig into real world examples of common tasks you will want to do with the web services.

§         Chapter 23- Leveraging Multi Currency and Language – These two features are at the heart of the global nature of the platform.  In this chapter, we explore how to leverage them as part of your applications.

Plug-ins

§         Chapter 11- Unified Event Framework – Building on our knowledge of the data modeling and the web services we embark to understand the Unified Event Framework (UEF) which is new to the platform in this release.  The UEF sets the stage for how plug-ins and workflows are implemented into the platform.  A basic understanding is essential prior to developing business logic extensions like plug-ins and workflows.

§         Chapter 12- Plug-in Basics – Plug-ins let you integrate your custom logic just like it was part of a platform operation.  In this chapter, we explore how to build a plug-in and the different options that exist for getting it integrated to the execution pipeline. 

§         Chapter 13- Plug-in Developer Framework – The “hello world” plug-in is easy, but what about real world plug-ins. Here we look at providing a consistent pattern for building platform plug-ins that includes a concept of a test bench for testing plug-ins outside the platform.

§         Chapter 14- Plug-in How To's – Take a walk on the wild side and learn what type of problems developers are solving using the plug-in capability.  In this section we look at real life examples of plug-ins.

Workflow

§         Chapter 15- Workflow Re-Energized – It’s not just upgraded, it’s re-invented and based on Windows Workflow Foundation.  Learn about the changes to workflow and how it makes workflow in the platform a powerful tool in your arsenal for business process automation.

§         Chapter 16- Workflow User Interface – You used to have to be an admin to manage and build workflows.  Now, sophisticated business analysts and other non-developers can build them using the web interface. Learn what is there for users so when you build custom pieces that plugs into it you will know how users can leverage it.

§         Chapter 17- Windows Workflow Basics – You don’t have to be a workflow guru to take advantage of the workflow support in the platform but knowing the basics will help you get things done quicker.

§         Chapter 18- Custom Workflow Activities – Building custom activities really shows off the power of the platform allowing you to build activities that users can use via the web interface when building their own workflows.  These can be simple or complex, and can be built to support development of more complex workflows as we discussed in Chapter 19.

§         Chapter 19- Workflow Developer Framework – As we did in Chapter 13 for plug-ins this chapter looks at how to build a reusable pattern for workflow support including the concept of a test harness for running the workflow or activities outside the platform for easy development.

§         Chapter 20- Workflow Code Generation – In this chapter we explore ways that you could use code generation to make workflow development more drag and drop and extend  on the dynamic SOA features of the platform to workflow by code generating custom activities based on the platform data model.

§         Chapter 21- Workflow How To’s – In this chapter we look at some real world examples of how developers and users are leveraging the workflow capabilities of the platform.

Deployment and Performance

§         Chapter 24- Packaging for Deployment – Ready, Fire, Aim…oh wait we need to figure out how to deploy this to a real production site.  In this chapter, we discuss just that and the features of the platform that help you get your solution deployed either to an internal host or from an ISV perspective in packaging up their application.

§         Chapter 25- Tracking Down Problems – Nothing is worse than getting the call that something broke and not knowing where to start.  In this chapter, we explore techniques to prepare for production problems and what capabilities exist in the platform to help you solve problems.

§         Chapter 26- Performance Tuning – In this chapter, we look at some of the techniques to squeeze out a little more from your application.  We also look at some of the platform metrics provided in performance counters that are used to help identify problems.

CRM Online

§         Chapter 22- Building CRM Online Solutions – This chapter focuses on the specifics of building solutions that work with CRM Online.  This includes looking at some techniques to work around some of the differences that exist between CRM Online and other deployments.

All Chapters

§         Chapter 1-What’s new in CRM 4.0 – Microsoft Dynamics 4.0 has significant changes from the basic platform architecture to the tools developers use every day to create solutions.  This chapter introduces the changes and sets the stage for developers to understand how to build applications.

§         Chapter 2- Building Line of Business Applications – Everyone thinks of CRM for managing Contacts and Accounts, but Microsoft Dynamics CRM 4.0 can also be used to build line of business applications that are not just CRM.   We explore how you can leverage the platform foundation to build applications without doing the “plumbing” yourself.

§         Chapter 3- The Developer and Team Workspace – One size certainly does not fit all when it comes to developers.  This chapter explores how developers can setup their development environments to maximize their productivity building applications.  Included in this chapter are discussions on team development.

§         Chapter 4- Data Modeling in CRM – At the heart of any good CRM or line of business application is the data model. CRM allows developers to declaratively build the data model and work with it using all the power of the platform.  Here we talk about defining the data model and the basic user inputs to manipulate data.  This chapter is a must-read for a good understanding of the remaining chapters.

§         Chapter 5- User Experience Customization – We start with the basics and then move beyond to look at how to do client side development including leveraging some OO techniques with JavaScript (Yes, we said OO and JavaScript in the same sentence!).

§         Chapter 6- Client Scripting How To’s – Having a basic understanding that we provided in Chapter 5 is great but here we dig into real world examples of common tasks you will want to do with the client side capabilities.

§         Chapter 7- Building Alternate UI’s – The built-in UI in the CRM platform is powerful, but in this chapter, we explore building alternate UI’s using Silverlight. 

§         Chapter 8- Exploring Metadata – Building on the data modeling in Chapter 4, we explore how you can programmatically access the platform metadata and use it as part of your development.  New to Microsoft Dynamics CRM 4.0 is the ability to use an API to modify the metadata in addition to read access.

§         Chapter 9- Using the Web Services – Web services are the SOA extension of the data model and dynamically configure to implement and expose the custom data model.  In this chapter, we learn the basics of working with the web services to interact with the platform.

§         Chapter 10- Web Services Common How-To’s – Having a basic understanding that we provided in chapter 9 is great but here we dig into real world examples of common tasks you will want to do with the web services.

§         Chapter 11- Unified Event Framework – Building on our knowledge of the data modeling and the web services we embark to understand the Unified Event Framework (UEF) which is new to the platform in this release.  The UEF sets the stage for how plug-ins and workflows are implemented into the platform.  A basic understanding is essential prior to developing business logic extensions like plug-ins and workflows.

§         Chapter 12- Plug-in Basics – Plug-ins let you integrate your custom logic just like it was part of a platform operation.  In this chapter, we explore how to build a plug-in and the different options that exist for getting it integrated to the execution pipeline.

§         Chapter 13- Plug-in Developer Framework – The “hello world” plug-in is easy, but what about real world plug-ins. Here we look at providing a consistent pattern for building platform plug-ins that includes a concept of a test bench for testing plug-ins outside the platform.

§         Chapter 14- Plug-in How To's – Take a walk on the wild side and learn what type of problems developers are solving using the plug-in capability.  In this section we look at real life examples of plug-ins.

§         Chapter 15- Workflow Re-Energized – It’s not just upgraded, it’s re-invented and based on Windows Workflow Foundation.  Learn about the changes to workflow and how it makes workflow in the platform a powerful tool in your arsenal for business process automation.

§         Chapter 16- Workflow User Interface – You used to have to be an admin to manage and build workflows.  Now, sophisticated business analysts and other non-developers can build them using the web interface. Learn what is there for users so when you build custom pieces that plugs into it you will know how users can leverage it.

§         Chapter 17- Windows Workflow Basics – You don’t have to be a workflow guru to take advantage of the workflow support in the platform but knowing the basics will help you get things done quicker.

§         Chapter 18- Custom Workflow Activities – Building custom activities really shows off the power of the platform allowing you to build activities that users can use via the web interface when building their own workflows.  These can be simple or complex, and can be built to support development of more complex workflows as we discussed in Chapter 19.

§         Chapter 19- Workflow Developer Framework – As we did in Chapter 13 for plug-ins this chapter looks at how to build a reusable pattern for workflow support including the concept of a test harness for running the workflow or activities outside the platform for easy development.

§         Chapter 20- Workflow Code Generation – In this chapter we explore ways that you could use code generation to make workflow development more drag and drop and extend  on the dynamic SOA features of the platform to workflow by code generating custom activities based on the platform data model.

§         Chapter 21- Workflow How To’s – In this chapter we look at some real world examples of how developers and users are leveraging the workflow capabilities of the platform.

§         Chapter 22- Building CRM Online Solutions – This chapter focuses on the specifics of building solutions that work with CRM Online.  This includes looking at some techniques to work around some of the differences that exist between CRM Online and other deployments.

§         Chapter 23- Leveraging Multi Currency and Language – These two features are at the heart of the global nature of the platform.  In this chapter, we explore how to leverage them as part of your applications.

§         Chapter 24- Packaging for Deployment – Ready, Fire, Aim…oh wait we need to figure out how to deploy this to a real production site.  In this chapter, we discuss just that and the features of the platform that help you get your solution deployed either to an internal host or from an ISV perspective in packaging up their application.

§         Chapter 25- Tracking Down Problems – Nothing is worse than getting the call that something broke and not knowing where to start.  In this chapter, we explore techniques to prepare for production problems and what capabilities exist in the platform to help you solve problems.

§         Chapter 26- Performance Tuning – In this chapter, we look at some of the techniques to squeeze out a little more from your application.  We also look at some of the platform metrics provided in performance counters that are used to help identify problems.