Windows Workflow 4.5 and external rules - workflow-foundation-4

So with .NET 4.5, a workflow is comprised of activities. Ive done some simple examples with WF 4.5 and hosted it in a WCF service etc. Great, but I now am looking at building a simple rules type processing service and want to keep the rules stored seperately so that someone other than myself can edit them.
This naturally lead me down the road of researching rules engine. I came across examples that referenced the 3.5 WF way of doing things.
One of the examples I was looking through was this
http://msdn.microsoft.com/en-us/library/dd349785.aspx
Then I browsed the MS Workflow migration documents, especially the one concerning rules. Im still confused.
So in general, my question is - How can I use and edit rules kept externally to a workflow assembly, but use .NET 4.5 and not have to use any legacy components?
[update]
Anyone finding this thread and facing the same WF3 -vs- WF4 dilema regarding the evaluation and use of "rules" will find the following helpful. Its a way of doing rules the WF4 way.
http://www.nilzorblog.com/2011/11/using-wf4-as-rule-engine.html

Related

What are the steps to migrate an enterprise application running in J2EE to Spring 5.0 with minimal impact?

We are interested to migrate our EJB+WebSphere+JPA+Struts application stack to Spring 5.0 .
Already we discussed the pros and cons of this. Now we decided to move to Spring+Tomcat+Struts stack.
We have very short term allowed for this project . So , we want migrate with minimal impact.
What are the possible ways? I goggled and found only just discussion , there is no much useful information in Internet.
Please let us know if anyone is having real-time experience on this.
Migrating from EJB3 to Spring, Hibernate
No way, Struts is much reacher on the frontend and backend. Because it's different frameworks you have to rewrite everything. You can only keep in mind MVC pattern. The Codding is different.
The migration is not a integration. Even if it's possible to integrate both then it is not a way to keep WOW application running in the production. This kind of applications never get migrated completely.

Symfony 4. Code organization

My question is next - how you organize code-base of your application when it have a lot of complex code?
I start learn Symfony 4 framework. Before I developed applications using Yii 1.1 and Yii 2 frameworks. In projects that was built around this frameworks code divided by modules for better organization and maintenance. This way of code organization is encouraged on all forums dedicated for Yii frameworks.
In Symfony world closest analog of Yii modules is bundles. As I understand, after reading related articles and docs, they really was used for such code organization, but they were developed not exactly for this purpose. For Symfony 4 authors recommend build bundle-less applications and at this point I really confused.
Search for answers on my questing give me nothing. Some advice to group classes under namespaces (sub folders) in controllers, templates, entities, etc, but I feel that this is not a right way since views, controllers, services and other classes will be scattered across project.
I know that one right answer for this question does not exist, but anyway I curious about how this problem is solved in Symfony world.
Nothing is stopping you from just ignoring the current official recommendation and splitting your web app into multiple Flex Bundles. That's what I'd do because as it stands now, what they are recommending is essentially an antipattern.

Learning Resources for Entity Framework 5

My team is looking to shift asp.net form application from .NET 4 to .NET 4.5. We are hoping that we would be able to use the whole new Entity Framework 5. Being the in charge of this task I did look into the advantages of using EF5 and I am quite impressed.
EF5 gives you the ability to run pre-compiled Queries and that will be a great performance boost.
Apart from that we would be able to use enums and table-valued functions, that I am not very excited about but lets see how these can improve Code Quality and maintenance.
My Question is, are there any good resources that can help me learn some practical implication of EF5. I have been searching for some time and hope that there are people out there who have already jumped to EF5 and can post some useful resources in here.
The answer is not exactly about EF but for "MVC with EF".
I'm learning MVC these days & I've learned quite a bit. I would like to share my experience and how the whole training can be highly effective. If you go systematic, everything is simple and cool. I would advise you to first cover some basic concepts which are used in MVC and entity framework:
Extension Types
Lambda Expression
LINQ
Anonymous Types
You can find good information on these at http://www.youtube.com/watch?v=FejRZ6QYWHw.
If you already know that you can skip.
Next you can start learning the EF. You can do so by following Lynda Tutorials which I found to be extremely simple and effective (avoid Plurasight as of now).
You can also visit asp.net website and check the Getting started with EF6 using MVC 5. It has wonderful list of articles, which I would recommend to everyone.
And once you are done with that, you should be capable enough to build any web application. If you want more higher level details you can then opt for Plurasight tutorials.
Hope this helps.

Implementation of a ASP.NET based portal-like application

There is the requirement, to write a portal like ASP.NET based web application.
There should be a lightweigted central application, which implements the primary navigation and the authentication. The design is achieved by masterpages.
Then there are several more or less independent applications(old and new ones!!), which should easily and independent be integrated into this central application (which should be the entry point of these applications).
Which ways, architectures, patterns, techniques and possibilities can help and support to achieve these aims? For example makes it sense to run the (sub)applications in an iframe?
Are there (lightweighted and easy to learn) portal frameworks, which can be used (not big things like "DOTNETNUKE")?
Many thanks in advance for you hints, tips and help!
DON'T REINVENT THE WHEEL! The thing about DotNetNuke is that it can be as big or as small as you make it. If you use it properly, you will find that you can limit it to what you need. Don't put yourself through the same pain that others have already put themselves through. Unless of course you are only interested in learning from your pain.
I'm not saying that DNN is the right one for you. It may not be, but do spend the time to investigate a number of open source portals before you decide to write your own one. The features that you describe will take 1000s of hours to develop and test if you write them all from scratch.
#Michael Shimmins makes some good suggests about what to use to implement a portal app with some of the newer technology and best practice patterns. I would say, yes these are very good recommendations, but I would encourage you to either find someone who has already done it this way or start a new open source project on codeplex and get other to help you.
Daniel Dyson makes a fine point, but if you really want to implement it your self (there may be a reason), I would consider the following components:
MVC 2.0
Inversion of Control/Dependency Injection (StructureMap for instance)
Managed Extensibility Framework
NHibernate (either directly or through a library such as Sh#rp or Spring.NET
A service bus (NServiceBus for instance).
This combination gives you flexible user interface through MVC, which can be easily be added to via plugins (exposed and consumed via MEF), a standard data access library (NHibernate) which can be easily configured by the individual plugins to connect to specific databases, an ability to publish events and 'pick them up' by components composed at runtime (NServiceBus).
Using IoC and DI you can pass around interfaces which are resolved at runtime based on your required configuration. MEF gives you the flexibility of defining 'what' each plugin can do, and then leave it up to the plugins to do so, whilst your central application controls cross cutting concerns such as authentication, logging etc.

Moving towards Ruby on Rails from ASP.NET

I am ASP.NET developer from last 5 years and still loving it. There are lots of good voices in air about Ruby on Rails. I want to ask to community, Is there any worth trying to learn Ruby On Rails as a ASP.NET web developer on following point of view.
Scalability
Documentation
Community Support
Hosting Solutions
Deployment
ETC.
I'd take a gander as ASP.NET MVC. This way you can stick with the .NET Framework yet still get some of the things you probably want out of RoR.
ASP.NET MVC is very lightweight and easy to scale with some of the APIs it provides (SQL storage for sessions or even Microsoft Velocity).
ASP.NET MVC has lots of support from the community and thus has lots of documentation and feedback from the community and Microsoft itself.
Lots. Check out http://www.codeplex.com/ASPNET for more information.
Well, ASP.NET MVC is bin-deployable. So as long as your host supports ASP.NET 3.5 there's nothing else you need. They don't need to have ASP.NET MVC installed in any sort of way. So if you wanted to, you could easily use a shared host.
Deployment is very easy with ASP.NET MVC and with the changes coming to Visual Studio 2010 for easier deployment of web sites via "Packages." I currently maintain 2 ASP.NET MVC sites and find it with bin-deployment to be just the same as a regular ASP.NET WebForms site.
I'm now in your shoes, because I'm learning RoR after commercially developing in .NET for 5 years.
Here is my two cents:
Scalability: I believe that rails can scale quite well, there are numerous options available, such as mongrel clusters on linux.
This one is a bit worse than on .NET. But the community is very good and you'll never find yourself searching for a good way to go.
See above (it is excellent)
Hosting is not a problem: numerous hosting options available.
I find transition from development to test and then to production better thought of in Ror than in ASP.NET.
I fully agree with Chad's post.
I was half way through development of an app in rails and now i've done a complete 360 and have reconsidered after delving deep into ASP.NET MVC for my day job commitments.
I am now changing courses and looking into ASP.NET MVC for all my personal projects, I think both are honestly remarkably comparable now as I think MS has had a good hard look at Ruby on Rails' feature set and ensured they could match features very closely. After all, if you couple a project with LINQ 2 SQL / EF, ASP.NET MVC and potentially Dynamic Data (if you need that sort of thing), I really can't think of any compelling reasons to choose Rails over .NET, however I CAN choose reasons to select .NET over rails - after all hands down the rich debugging experience with VS.NET, rich intellisense and watcher/quickwatch support plus the ASP.NET MVC framework supports Html Action Helpers, Model Binders, support and encouragement for unit testing, and now with the inclusion of JQuery and JSON results, you're virtually unstoppable.
I suppose besides obviously hosting/licensing costs, Ruby language preference and other personal preferences such as it being open source etc, It's really your choice.
1) Scalability
Rails is just as scalable as any other web-application stack. The only difference is that your single server might get overloaded, and require splitting to 2 servers sooner than it would in .NET due to the slower performance of the ruby runtime. In practice this is not a problem.
2) Documentation
Microsoft do provide better documentation for the core libraries than Ruby or Rails, but the ruby/rails ones are still on the whole very good. I'd consider ruby/rails to be the winner here for the simple fact that you can always view the source for everything. No amount of documentation is a substitute for being able to actually see what's happening.
3) Community Support
I've been nothing but impressed by the community support around rails. I don't know what else to say there.
4) Hosting Solutions
Since phusion passenger got released, It seems to be easier these days to find rails hosting than it is to find ASP.net hosting. This is only going to sway more towards rails as time goes by for the simple fact that hosting companies do not have to pay royalties towards microsoft to deploy rails on linux servers.
5) Deployment ETC.
Capistrano (the most common deployment solution for rails) beats everything else hands down.
Well I dont know anything about the Scalability part, but personaly i started learning Ruby On Rails from ASP.NET a while ago. I really had a hard time finding some good documentation - the class documentation on Rails site was really poor in my eyes, and I had a simple question about what arguments you could put into an actionlink. But maybe it was just me who never found the right place. But personally i think that the ASP.NET documentation is better than rails - at least buy a book, i think thats a good way to go.
Number 3. Im pritty sure that there is very good Community Support for rails you just have to find the right forum or other media that suites your liking - maybe this what was I did wrong.
Number 4. There is alot of hosting solutions for Rails, but not as much as ASP.NET or PHP. I think you have to research this your self, and find out, if there is anything that suites your likeing.
Number 5. Ruby should be very easy to deploy, it has a notion of a development, test and production database. It uses migrations, so updates in the database schema is seamless - thats very cool. It is scripting, so it should be a matter of xcopy from the development computer to the production server.
The reason you should choose Ruby on Rails is if you like the MVC pattern. The MVC pattern is genius, and ruby is a great language when you learn it. Maybe take a dive into the ASP.NET MVC, and see what its like - then maybe move to Rails. Then you only have to learn a new language, and not a new arhitecture, framework and language at the same time.
Remmember this is from a ASP.NET Developer who sniffed to Rails, but gave up, doe to the lack of ability to find really good documentation, and there was always some strange errors, from the editor or Rails - but thats properbly a newbie thing :)
But if you have time, by all means learn it. Some developers say that we should learn one new language per year, and Ruby is a great candidate for that.

Resources