Windows Workflow Foundation 4 (WF4) ReHosting - windows

I've been looking at the possibility of ReHosting a WF4 Workflow to be used to debug running Workflows. All the posts and samples I've seen regarding WF4 Rehosting are using a WPF application to initially Host the Workflow, and then use the WorkflowDesigner in ReHosting it. Is there any way to Rehost a Workflow that was hosted in a non WPF application, like ASP.Net MVC?

The WorkflowDesigner is basically a big WPF control so you cannot host it in an ASP.NET application. Neither can you in a Silverlight application. If you need to expose the designer over an internet app you would have to either create your own designer or use something like terminal server/Citrix.

You can host the designer in the browser using a wfpbrowserapplication. Details here

I just about read in another post that WF 4 will make the hosting the designer in the application easier than it is today. I too have similar requirement that the workflow designer should be availabe to the user so that he can create his own workflows. This was reasoned in that post to the fact that the WF 4 is completely markup based and no code is involved... making it easier to host in the application....

Related

Legacy Access application of 30-40 forms , asp.net web matrix or web forms?

I've been tasked with converting a legacy Access application over to a .net framework solution as quickly as possible.I'm unsure which approach approach to go for. I prefer asp.net web pages with web matrix as I'm comfortable in this environment but not sure if its the correct approach/best tool for the job. I know that web forms is good for grid based screens which this access application uses rather heavily.
I will be using SQL Server for the backend.
Has anyone moved an access application over to a .net framework solution before? If so what approach do you recommend? ASP.net Webpages Web matrix or Web forms? Something else?
Thanks
D
If you are more comfortable with Web Pages, then use that. I have been playing with Web Pages and Knockoutjs recently. That might be a good combination: http://www.mikesdotnetting.com/Article/190/Using-Knockout-With-Razor-Web-Pages-In-WebMatrix-2

Is webmatrix appropriate for a "private" web app?

I would like to build a web interface for an app I build for a client. The app itself is made with Access for the front-end, and SQL Server for the database.
The idea is to allow them to check the stock of an item, or see the orders of a client using a laptop or even a smartphone, while on the road.
I have a basic experience with html and CSS, since I made a few simple sites.
My question is: would webmatrix be a good choice for that job ?
Since I master VBA and SQL quite well, and the client is a MS environment anyway, I thought webmatrix could be an easy path for that project.
Any feedback appreciated. Other suggestions are welcome. Thanks.
We have a very similar environment. We have a legacy application developed in Microsoft Access running against SQL Server 2005. Initially we developed a single page website using WebMatrix that had some key data displayed on it. Over time, it's grown to having maybe 30 pages, with both employees and customers logging in to it. It's my plan to gradually replace the Access application completely with a WebMatrix application.
Generally, the WebMatrix development enviromnent is quite competent for simple pages and I like its lightweight quick-to-boot easy-to-use approach. On some of the more complicated pages that use c# classes, I will switch to Visual Studio.
Since you have some experience with HTML and CSS, then I think the razor syntax that WebMatrix uses is a natural progression. If your only language experience has been vba, you might have some challenge using c# or perhaps vb.net. I would recommend c# as being more of an standard.
Good luck!

Coverting VB.Net applications to services

I have a basic VB.Net application that gets data from some websites and then send them to a MS-SQL database automatically. I have developed it as a desktop application with a WinForm front end with logs writing to the WinForm continuously.
Now, is it possible to convert the Winform to a Windows services so that I do not need to keep it opening in front of my PC and watching the logs, instead, it runs quietly in the background and the data gets logged into the system log viewer?
Many thanks!
In Visual Studio choose File->New Project and in the Windows templates you'll see Windows Service. Choose that option and then start migrating your code. If you kept most to all of your non-UI code in a separate DLL it will be easy because then you can have your service reference that library.
The following MSDN link has step by step instructions on how to get started with Windows Services but the answer is it not possible to convert your application but you can create a new windows service and copy your code across. This should be quite trivial.
If you have a specific interval to run the project, then you can use windows schedular to have the executable invoked as per your requirement and interval. However, as answered earlier, to convert your project to win services, you need to create the windows services from scratch and what you can do is, keep your business logic classes seperate and have objects created from the component classes.

Sharepoint workflow vs Windows workflow

We are in the process of implementing the sharepoint application, we would like to know the the pros and cons of SharePoint workflow versus Windows workflow.
Workflows in SharePoint are implemented using the Windows Workflow Foundation, so they are not that different, but there still are some things to be aware of regarding that implementation.
SharePoint is a Windows Workflow host, so you don't have to implement your own host which is fine if you agree with the decisions made by the SharePoint team:
Workflow instances are persisted in the content database
Communication with the user is through SharePoint tasks
Every workflow instance is tied to a list/library item
Tracking is not implemented
If these choices are to your liking then by all means use the SharePoint workflows.
If not then implement your own host and make your own decisions.
They are the same thing. The current Windows Workflow Engine was created for SharePoint.
Now it should be noted, that the Workflow engine is going to be overhauled with the release of .Net 4.0. I don't know the specifics, but I've been told the differences are significant. I woudld assume this is going to be used in Sharepoint 2010, but I don't have any information on that.
Here is a link describing the upgrade in 4.0.
You haven’t specified whether you’re building a custom coded application in SharePoint or configuring an out of the box solution via the browser. Either way, here are a few options for workflows in SharePoint.
Use the native workflows built into SharePoint and readily accessible from any list. They’re very basic (mostly simple approvals with one or two steps), but they’ll get you up and running very quickly and it can all be done via the browser.
Use SharePoint Designer to build slightly more complex workflows. This will give you access to conditional logic (i.e. route a workflow based on a list value) and unlimited steps and well as a number of other features that allow you to introduce more logic into the process. The downside is you have to work with SharePoint Designer which, to be frank, can be a real pain.
Custom code your workflows in WF. Windows Workflow underlies the first two options which are essentially abstractions on top of the underlying framework. The main difference with this approach is that you’re not limited to the functions that the browser or SPD surface. The downside is that this becomes a more complex process (although admittedly the workflows will likely be more complex) and you have to go through the rigmarole of coding against SharePoint, packaging deployments, publishing, etc.
I find the best balance in terms of ease of development and functionality is to try and work through the above list in the order I provided them and only progress to the next option if you definitely can’t implement the requirement with the current point.
It's basically the same technology. If you know one you can easily work with / switch to the other.
When you add the SharePoint dll to your solution you get some specific SharePoint 'activities' that you can use in your workflow. (create task, ...)
Your SharePoint Server will act as a host for your workflows.
The best way to deploy a workflow in SharePoint is by using a SharePoint feature. This tells SharePoint what dll (assemblies) to use and which (input) pages to show.
As input pages you can use simple .net aspx pages or infopath forms. Both require some trial and error to get the hang of it.
SharePoint simply uses windows workflow Foundation (WF) as its workflow engine. WF in itself is just a generic workflow engine.
In order to use WF you must implement a host process for the execution of workflows, and configure it so it persists instances to database etc (these days most people use a WCF service as a workflow host, see here or here).
SharePoint comes with everything already configured and implements its own workflow host, so you can start using workflows out of the box. Apart from that, it comes with custom activities and other goodies specific to SharePoint.
As stated in other answers, they are the same, as they use the Windows WOrkflow Foundation. That being said, there is a major thing to keep in mind when it comes to Workflows created through SharePOint Designer: They are not "portable" out of the box, meaning that you can create one bound to list a, then save the list as a template and then create another list based on that template, the workflow will NOT work (you have rebind it as it is still referencing the original list's id (guid).

Application development with Rational ClearQuest

Has anyone had experience with developing web apps using ClearQuest? Looking at the features, it mentions process automation but I'm not sure how large of a process/application it can support. Our group gave up a small section of a larger application to another group that used ClearQuest to web-enabled the process but now the ClearQuest tools are being pushed on us to web-enable the entire application. I have a ASP.NET background but ClearQuest is very wizard like and the only code that I've seen is called "BASIC" and it looks a lot like VBScript.
Clearcase/Clearquest has decent integration with Rational Applicaiton Developer. I am not sure if you arsking about its strenghts or actually exposing ClearQuest to the web. You can do the obligatory and lame activity of writing CGI/PERL scripts to expose some of the features to the web. You can use perl or VBScript to write CC/CQ hooks. It has its own perl build included in the product called ratperl. It has fantastic command line support but it comes at a price of complexity. CC/CQ is very powerful provided you think about the implementation in your organization very carefully. It can support very powerful work flows and is highly customizable.
There are several APIs which allow you to do what you want, write a WebApp.
CQWeb itself is built using the CM API, which allows a Java application (web or non-web) to be build. A tutorial is here:
http://www.ibm.com/support/knowledgecenter/SSSH5A_9.0.0/com.ibm.rational.team_api_cq_tut.doc/topics/teamapi_cq_abstract.htm
You could implement a basic web application using perl-CGI, since CQ has a Perl API.
You can write an ASP/C# web application because ClearQuest has a OLE (Visual Basic) API. The original ClearQuest Web application was built using the Visual Basic API
So the answer is yes, it is possible.
Wouldn't it be nice it supported a JavaScript API? Then we could write nodeJS CQ applications.
Sure it's possible, for a VS style integration I would either wrap the cqole.dll or use the OSLC connectors to get access to the RESTful interface. While the cqole is the C++ API and it is not officially supported this will suite you better than trying to implement this with the VBScript API. If you are more comfortable with just using the web services I would check out jazz.net where the wiki explains the bridge in gory details.
You dont exactly develop webapp with ClearQuest, CQ is only a process automation tool that build on logic and state transitions, and the interactions are scripted in either VBScript or Perl.
However do note that it has always been a pain to manage CQ codes as the "Designer" itself is a completely broken tool. It supports version tracking but doesnt tell u the difference between versions. The built-in code editor doesnt have syntax highligting, and it doesnt support parallel development. I can go on and on.
In the later versions, (version 7 onwards I supposed), CQ comes with eclipse based client AND designer tools, which supposedly enhance the whole experience. But I dont have too much experience with it to comment.
As for the web component, it runs on the websphere layer and simply is a application/presentation layer for users to access CQ through a HTTP protocol. It has 90% of the features of a full CQ client, and is usually easier to maintain and deploy to a wide user group.
Check out http://open-services.net/ for information on development using Open Services for Lifecycle Collaboration.

Resources