Screencast series on Workflow foundation 4.0 – Part 1

Workflow foundation 4.0 has many things to offer. Many new features have been added.Its also provides XAML based interface to drag and drop activities. It can simplify the process development. Scaling of the application can also be achieved very easily using WF. It allows core developers to create custom activities and business person to use these custom activities without even caring about the implementation. So, it provides an abstraction layer also.
WF is also very useful for long running processes, where the parent processes are dependent on other actions ( may be a web request, or users input or anything which can take long period).

Even for process industry, application development can be a very challenging task. Process are long running and can switch to any state (due to some triggered action). Moreover, if there is some change in process, its very difficult to implement into the existing application thus can result into development delays. Workflow foundation provides various rich features which can be used to solve these problems.

Moreover, WF 4.0 allows to visualize the process in a graphical representation also. So, You can actually see the process workflow.
WF 4.0 (With .NET framework update 1), provides typically three type of workflows:

Workflow types in WF4.0

I am trying to create this screencast series, where i will demonstrate ,

  • how to use Workflow foundation 4.0 in visual studio 2010
  • what are the features
  • how it can be used to solve real life problems in a efficient and scalable manner

 

    This is the first one in the series, More will follow soon.

 

Advertisements
Tagged with: , ,
Posted in Technical, Workflow Foundation

Connecting the dots …. (From Software to Hardware)

I have talked about many things in my posts till now….. cloud , desktop app, web app, mobile app…..and how you can integrate them. But still one important hasn’t been discussed yet and that is “Hardware”…obviously for a process industry hardware are of utmost importance. But how this “Hardware” thing fits into picture of application development paradigms.

I am discussing one solution in this post.Many other solutions are possible. As I am comfortable with Visual Studio, C#/VB programming, i would like to discuss one important framework “.NET MICRO FRAMEWORK” . This is a stripped .NET version suited for interfacing hardware. Various companies are providing complete toolkit (hardware motherboard, associated sensors) using the above mentioned .NET micro framework.

One solution i had came across is “NetDuino“. It uses .NET micro framework. You can do your programming direct from Visual Studio 2010. .NET 4.0 is also supported. Microsoft also has a research project “.NET Gadgeteer” using the same framework.

Such embedded systems and electronic devices can be communicated and interacted using this .NET micro framework.

So we have Cloud, We have Windows Phone Apps, We have Electronic hardware.

Lets connect the dots…..

Take a example.

Problem : These is some system which goes into an alarming or critical situation, you get a pushed notification on your mobile with Windows Phone OS. Now you are outside the city and you want to start or stop some machine from your mobile app.

Solution: Lets say you want to create a cloud based solution ( i will be taking windows azure solution here) to create a solution mechanism for the same.

Step 1:  Store the data from devices to Azure

Step 2: Create a notification service which looks into the data, and in case of any irregularities/critical situation, generates a message

Step 3: Using Windows Phone push notification, that notification will be sent to your windows phone app (on your mobile device)

Step4: You view the message

Step 5: You choose to take necessary action, you press the “Stop the machine” button

Step 6: Your action went to Azure Cloud

Step 7: Notification sent to App Connected to Netduino (which in turn will be connected to hardware mechanism to stop the machine may be relays or what ever)

Step 8: the APP get the notification, send message to NetDuino and then finally the machine will be stopped.

 

So, here we  just looked into one example, endless solutions can be framed for your problem. But the above mentioned path is not hypothetical , it can be done using the above mentioned technologies.

So , go ahead …..solutions are only limited by your creativity. All you have to do is to “Connect the dots” ….

Tagged with: , , , , ,
Posted in Technical

Trying Various Cloud solutions in Visual Studio ( Azure , Amazon AWS)

I am trying to evaluate various cloud solution in market. There are mainly three aspects of choosing any solution out of them are :

Aspect 1) Whether the solution work seamlessly with your existing technical skills (if you are a newbie then this question doesn’t matter and you can look into the second aspect directly)

Aspect 2) features provided by the solutions (like SLA, load balancing, storage and other aspects)

Aspect 3) Money !! of course …. whether the solution is cost effective or not. As the competition in cloud market is increasing, customers are bound to get benefit out of it. With more and more companies venturing into the cloud market, users will have more and more options on cheaper rates. Its just like communication (mobile) industry as we can see how the mobile services rates are going down with the increasing number of subscribers.

Anyways,As a solution architect, i was just trying to evaluate which solution suits me.

Evaluating Aspect 1 :

As i was working in .NET environment using Visual Studio, so i would like to do my development, deployment, management directly from my IDE . In this post I will evaluate windows Azure and Amazon Web Services (AWS) from the development perspective. Cost comparison is obviously a concern point. But if you are comfortable with development in any of the cloud environment, it is just a matter of click to deploy your application on any cloud solution provider.

As windows azure is a Microsoft product, they have provided a seamless experience for Visual studio developer to deploy their apps on Windows Azure cloud.

Windows Azure provides 3 months trial account , so you can create trial account on Windows Azure and download the Azure SDK’s for .NET and use it for deployment on Azure cloud.

What about AWS ??

Well, As Visual studio developer community is so big, every cloud solution provider has to provide solutions to this huge community. Likewise, AWS also have tool set,sdk’s that can be used with visual studio .You can download the tools for aws.amazon.com/visualstudio

The link also provides help video for visual studio developers. Moreover, Amazon also provides free User trial for 1 year.More info on http://aws.amazon.com/free/

I tried both the solution and both Azure and AWS works really fine and almost seamlessly with visual studio. I tried to deploy a simple ASP.NET MV3 project on both Windows Azure and Amazon CloudFormation.

So steps are as follows:

1) Open Visual Studio professional or higher

2) Create new Project -> CSharp -> ASP.NET MV3 Web application

step 1 and 2 is same for both Azure and AWS.

for deployment, the steps differ only a bit.

For windows Azure :

 Step 1. Right Click the Existing Project from Solution Explorer -> Add Windows Azure deployment project

Step 2.Right Click on Azure deployment project, then publish (using your azure credentials)

For Amazon AWS :

Step 1. Right Click the existing project from solution explore -> Publish to AWS

Step 2. Enter AWS users credentials and other deployment configuration and publish..

That’s it….so both Azure and AWS are providing seamless environment to developers….

Evaluating Aspect 2:

As feature wise, both Azure & AWS are very similar and serve the purpose (at least for me..). A detailed comparison is available on

http://adskylabs.com/2011/11/12/amazon-ec2-vs-rackspace-vs-windows-azure-for-hosting/

http://www.slideshare.net/rgillen/aws-vs-azure

Evaluating Aspect 3:

So finally it boiled down to money perspective. So , from the solution architect point of view, create such solution which can be deployed on any of the cloud service provider, and then choose which one is cheaper for you.

As Visual Studio 2010 provides seamless experience for Azure and AWS….. Price is the important consideration aspect.

Tagged with: , , , ,
Posted in About

Windows Azure and Process Industry

Cloud computing is gaining popularity day by day due to its obvious benefits. It provides companies to concentrate on the application rather than on creating infrastructure and maintaining in the long run. Windows azure can be very useful, if you are thinking to get into cloud computing. To get an overview you can view this link. Various concepts and usages are explained in a very nice fashion.

Now, how can process industry utilize the windows azure or any related cloud computing environment. ??  Many companies (Especially  bigger one’s) have IT infrastructure to support their existing application.?? but are they enough??? or what if there applications are limited by the IT infrastructure they have ?? Or Companies dont have such robust infrastructure with them ???

Windows azure can help process industry too.

lets take few examples :

Example 1: Process industries (power,manufacturing units etc.) have unlimited process data with them generated 24 x 7. Most of the time these data are available on their intranet network. Many high level process efficiency indices can be derived using the process data they already have (such as total generation, unit wise generation, process efficiencies,Plant load factors, Availability)

But again these indices are on local network only. But it can be very helpful if higher management have these indices with them always.(may be on their mobile or where ever they are). Access to these indices  can be very useful.

Or in case of any catastrophic issue in any unit or equipment failure the intimation can be sent as notifications. To make these data available securely on public network Windows Azure can be effectively utilized.  Industries can expose these indices/exceptions/notifications using WCF (windows Communication Foundation) and then “Service Bus Relay” feature of Windows Azure can be used to send these data securely on public network. Which can then be viewed on web,mobile phones (may be using ASP.NET,Silverlight, Windows Phone, Android App, IOS App). Here in this example existing databases/storage can be utilized.

But what if that particular industry don’t have such infrastructure with them. Not to worry, Azure provides various storage mechanism (table, Blob, SQL Azure) which can be used to store data. As the frequency of process data can be very high, so deduced indices (As discussed above which can be derived using numerous data) can be saved to the Azure storage.

Suppose there is a turbine system in particular unit, turbine vibration data is produced in microsecond interval, use Streaminsight along with various pattern recognition methods to detect fault (if any) and rather than storing the whole data, the data which is of more importance i.e. fault in such system can be stored to azure storage (or exposed through WCF using existing database infrastructure) and later that notification can be pushed to management mobiles/laptop/ipad etc in real time.

Such hybrid system can be very useful to industries already having IT infrastructure. But even if industries don’t have such infrastructure and they still want to have a highly available, highly scalable and fault tolerant infrastructure ,Windows Azure can be one such solution.

Tagged with: , , , , ,
Posted in Windows Azure

MVVM Series: Part 4: Use dispatcherTimer in MVVM to periodically update ViewModel And UI(View)

In this screencast, i will demonstrate about dispatchertimer in a silverlight application and how it can be used to refresh/update the viewmodel which will in turn update the UI (View). I am trying to achieve so in a MVVM fashion.

Tagged with: , , , ,
Posted in MVVM, Silverlight, Technical

MVVM Series: Part 3: How to use Command & Command parameter in MVVM, Change Themes in MVVM

In this screencast, i will try to explain how to use theme feature and how to change it dynamically. I will use command and command parameter to do so in a MVVM scenario.

Tagged with: , , ,
Posted in About, MVVM, Silverlight, Technical

MVVM Series: Part 2 : Use EventToCommand in MVVM scenario

In this video, i will try to explain how to use EventToCommand feature, and how to invoke commands from view  to the view model and get the results from view model to view seamlessly.

Tagged with: , ,
Posted in MVVM, Silverlight, Technical
About Me


Software Architect, Developer & Pluralsight Author

Software Architect, Developer & Pluralsight Author, Twitter Handle :

Enter your email address to follow this blog and receive notifications of new posts by email.

Join 116 other followers

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my current or previous employer's view in anyway.
Live Feed