Using SSL in your application

11 ביולי 2009

One of the ways to add another security level to our application is to use SSL. SSL gives the ability to encrypt messages between two endpoints. If you will search the web you’ll probably notice that this ability is given to you out of the box. If you are already using IIS as your web server and you want to add this security level, all you need to do is to check some check boxes in your web site configuration. In order to accomplish the configuration part you will be asked to provide a certificate. ...
תגיות: , ,
אין תגובות

Pushing vs. Pulling

12 ביוני 2009

Few months ago I heard a lecture about "Velocity", in the begging of the lecture the lecturer asked the audience the next question: "Assume that you have a client which needs to communicate with a server, what is the best communication pattern to work with, pushing or pooling?" 99% of the audience voted for the pushing. It was a tricky question with a tricky answer – it depends. I'll explain these two methods for all of those who aren't familiar with them. Pushing – in this concept, the responsibility to transfer the data is on the server....
תגיות: , ,
אין תגובות

Wcf configuration – Throttling settings

12 במאי 2009

In my pervious post I explained how to define the wcf service concurrency and instance context modes. In this post I will show you how to control these specific numbers (number of calls and number of instances). In wcf you can set these values using throttling settings. Like all other wcf configuration you can set it by using a configuration file or to implement it directly in your source code. The throttling configuration contains three elements: 1. maxConcurrentCalls : Refer to the service concurrency mode. In a case we define the...
תגיות: ,
אין תגובות

Wcf configuration – InstanceContextMode and ConcurrencyMode

7 במרץ 2009

Two of the important configuration settings in WCF refer to InstanceContextMode and ConcurrencyMode. These two are very important to control the system resources in your live service. The first (InstanceContextMode) controls the number of instances for your service. In this case you have three options: Single - Creates only one service instance in the system. PerSession (default value) – Create a new service instance per session. PerCall – Creates a new service instance per call. The second (ConcurrencyMode) controls how many threads can be run in the service at the same time....
תגיות: ,
אין תגובות

Wcf services – advanced NetTpcBinding configuration

In our application we chose WCF as a primary communication component. WCF provide several binding protocols and each one of them had its cons and pros. In our system we needed a high performance communication between several servers, it was the reason we used the WCF with NetTcpBinding. If you want to maximize your system utilization and having a better control on your services, you should make some fine tuning in the NetPctBinding. The default configurations for this binding are good for some classic scenarios, but like every other software if you need something more, you should override this...
תגיות: ,
אין תגובות

Building a high performance and scalability system

6 במרץ 2009

During the last few months I had some thoughts about developing a high performance and scalability systems. The idea of designing a complete system which can support almost unlimited traffic is very exciting and challenging. The main goal is to have maximum utilization of the current resources. Furthermore, is having the ability to add another box and to double the server performance. Each component should have the ability to scale and to work with several copies in different machines at the same time. In my next posts I decided to focus on some of interesting issues...
תגיות: ,
תגובה אחת

Single service handler with multiple contracts

9 בדצמבר 2008

During the previous week Rami (my teammate) and I had an interesting problem. We had to develop two WCF services with some shared collection. One of the solutions we had was to store this collection as a static collection, and then each one of them will be able to get it. But we found a better solution. We created only one service handler class which implements the both contract interface at the same time. At the beginning we weren’t sure that this idea can be implemented, surprisingly it worked. As you probably know you can define several endpoints to...
תגיות: ,
אין תגובות

My first visit in Asia

28 בספטמבר 2008

In the beginning of this month I was in a business trip to Asia to train our technical team members on a new software component we developed in our R&D team. The main goal of this component is to monitor net events and map it to actions. The business user has the ability to creates flows in a web interface and to defines the relevant actions for each event. In our solution we used WCF to communicate between our services, in addition, we used FTP to transfer batch files to our backend server. You can look on some of...
תגיות: ,
אין תגובות

Bind an Enum

25 באוגוסט 2008

It's very useful to take an enum and bind it into bind-able controls (like drop down list, check box, grid view and etc). For example, if we have an enum which represents bug statuses and you want to bind it into a drop down list. public enum Bug { Opened = 1, Closed = 2, Rejected = 3, Resolved = 4, InProgress = 5 } In addition, usually in a UI we want to separate between the enum words (for example to change the "InProgress" to "In...
תגיות: ,
7 תגובות

How to define state machine in Windows Workflow Foundation (WF)

15 ביולי 2008

Windows Workflow Foundation is a powerful framework to develop a workflow component in your application. This framework has two workflow types: Sequential workflow (pre-defined flow) and State Machine (event driven flow). In this post I’ll explain and show you how to define a workflow from the later kind. Each state machine consists of two major components: state (unique configuration) and Transitions (between the states, based on events or input). Each state machine should have initialize state and completion state. For example let see a state machine of bug(You can download the entire example from here): After we defined...
תגיות: ,
4 תגובות