Skip to main content

Here at Food Services of America we have already created our own DAL-Data Access Layer for access to ALL of our SQL Server data entities.

I noticed that the tutorials cover how to use smart objects within workflows which is very cool but in our case we simply won't use them 99% of the time.  Additionally the tutorials always seem to use MOSS.  We are a Sharepoint company, our corporate portal is Sharepoint with a MOSS version going through the branding and testing phases but we will not necessarily employ MOSS for workflow.

My questions are:

  • Can we get a tutorial that covers:
    • Creating a visual workflow layout in Visio
    • Code generation from the Visio document of the workflow (not sure this is possible)
    • The K2 Design Studio is almost exactly like K2.NET 2003 Studio but it crashes when I try and view something like the destination rule code.
  •  I wrote a code generator that generates a strongly typed class (C#) from a workflow solution file in K2.NET 2003.  I did this by using the provided K2Studio namespace.
    • Will this be possible for Black Pearl or does Black Pearl already expose things like the DataFieldse"name"]  Process Instance Data as a strongly typed property?

From what I can see so far I am not able to provide a POC-Proof of COncept to my company for moving from K2.NET 2003 to Black Pearl.  Any assistance would be greatly appreciated.

M. Scott McIntosh

Data/Workflow Architect

Systems Integration Team

Food Services of America 

 

Just to add some thought on this.  I would think that one of the key major reasons to moving to K2 blackpearl] primarily revolves around SmartObjects.  The ability to pull data from different LOB data sources into a single business entity has major architectural implications in designing an evolving business platform that changes according to the business needs.


 I have seen many enterprise level projects who try to implement a business layer framework which caters for this but with limited success.  With SmartObjects, this changes quite a bit with the ability to easily map business entity information directly to backend data sources (which can change over time).  Couple this with the ability to expose SmartObject data directly to various form mechanism (i.e. InfoPath, ASP.NET, ADO.NET) makes this a formidable combination in dealing with the need to rapidly deploy flexible business applications.


Those are indeed valid questions and concerns but the simple fact of the matter is that we have managed to standardize how we create a Data Access Layer for an application.  This includes automatic stored procedure generation in SQL Server and also generation of class templates for each of the entities (tables) in the target database.  In fact it is so standardized that every web developer here is intimately familiar with the DAL method names and can very easily use ObjectDataSource in ASP.NET 2.0 C# to get data from the server.

I would like it if SmartObjects made it so that we could "extend" our DAL in K2 Balck Pearl.  On several occasions we have included our DAL as an assembly in a workflow so that we didn't have to deal with the painful DataFields.

So, still my questions go unanswered? 🙂  If so then at least provide the answer to this:  Can we use SmartObjects to extend our already strongly typed interfaces to the workflow in Black Pearl?

 

Thanks for your response.
 


Sound likes you have a rocking DAL in place.  🙂


To extend your DAL entities to SmartObjects, you would probably need to create a specific custom service broker which is able to enumerate the schema of your DAL objects and do the appropriate type mappings.


To do this, I would suggest contacting your local K2 contact and they should be able to assists you on some examples.


WOW! That sounds like a lot of work to do something fairly common in an organization, not to mention introducing another point of failure. I suppose you could look at that as a decoupling point.


On a side note. Can you reference an external assembly. Say I have business rules already built into .net assemblies and I just want to use them. Something like a VIN decoder, or Tax algorithm.


 


 


Hi ssuing8825,


To set a reference to an external assembly, click on your process and click the 'View Extender Projects' button in the Solution Explorer. Now go and add a reference as per normal in VS.NET to the extender project for code.


I also suggest that your external assembly is registered in the Global Assembly Cache if possible.


Regards


Reply