Wednesday, August 24, 2011

XAF Workflow persistence storage

The .NET Framework 4 ships with the SQL Workflow Instance Store which allows workflows to persist state information about workflow instances in a SQL Server 2005 or SQL Server 2008 database. However its implementation is based on stored procedures which can be a bit scary if you are not familiar with them. In addition our customers may follow different standards (Oracle, Firebird, VistaDB, MySQL, PostgreSQL etc.) and it’s unrealistic to hire more people to support SQL Server infrastructure.

Usually when dealing with these issues the first thing we do is to carry out a Google search for storage solutions. Surprisingly there is no such solution out there! Moreover there is very little useful code or samples available. Luckily XAF provides us with an easier route!

XAF is the perfect workflow modeling environment. It provides a ready made solution for creating and deploying a server that will execute workflows as described here.  In order to start modeling workflows we can use VS design time along with our re-hosted runtime Workflow designer and custom WF4 activities. XAF also gives us increased control over our workflows for example through the ability to manually start workflows. Finally since XAF uses XPO to access data we can easily support 16 different database systems simply by providing a connection string!

XPO Data Store Adapter XPO Data Store Adapter's Assembly Name Database Provider Assembly
AccessConnectionProvider DevExpress.Xpo.vXXX System.Data.dll
AdvantageConnectionProvider DevExpress.Xpo.vXXX.Providers Advantage.Data.Provider.dll
AsaConnectionProvider DevExpress.Xpo.vXXX.Providers iAnywhere.Data.SQLAnywhere.dll
AseConnectionProvider DevExpress.Xpo.vXXX.Providers Sybase.Data.AseClient.dll
DB2ConnectionProvider DevExpress.Xpo.vXXX.Providers IBM.Data.DB2.dll
FirebirdConnectionProvider DevExpress.Xpo.vXXX.Providers FirebirdSql.Data.Firebird.dll
MSSqlConnectionProvider DevExpress.Xpo.vXXX System.Data.dll
MSSqlCEConnectionProvider DevExpress.Xpo.vXXX.Providers System.Data.SqlServerCe.dll 3.5.0
System.Data.SqlServerCe.dll 4.0.8482.1
MySqlConnectionProvider DevExpress.Xpo.vXXX.Providers MySql.Data.dll
OracleConnectionProvider DevExpress.Xpo.vXXX.Providers System.Data.OracleClient.dll
ODPConnectionProvider DevExpress.Xpo.vXXX.Providers Oracle.DataAccess.dll
PervasiveSqlConnectionProvider DevExpress.Xpo.vXXX.Providers Pervasive.Data.SqlClient.dll
PostgreSqlConnectionProvider DevExpress.Xpo.vXXX.Providers Npgsql.dll
SQLiteConnectionProvider DevExpress.Xpo.vXXX.Providers System.Data.SQLite.dll
VistaDBConnectionProvider DevExpress.Xpo.vXXX.Providers VistaDB.4.dll

More info @ Database Systems Supported by XPO

This is only one example of what XAF can do for us. XAF provides a comprehensive set of solutions that allow you to outsource all of the mundane programming tasks leaving you to focus purely on your business needs. For more info consult our docs, blogs, code central and support center.

Happy Workflowing!

Related Links
Blog posts
Online documentation


Subscribe to XAF feed
Subscribe to community feed



Post a Comment