Windows Communication Foundation

Windows Communication Foundation

Modern software systems almost always feature a distributed setup of some kind, which implies code that can communicate across networks or at least processes. In many cases, this means calling services of some sort, such as XML Web Services (SOAP), REST Services, or binary services. It may of course also mean a more low-level approach to network development. Microsoft's WCF (Windows Communication Foundation) technology enables all kinds of (network) communications in a straightforward fashion that enables developers to use such setups as cornerstones of their architecture as well as for simple individual network calls.

One of the great strengths is WCF is the unification, and thus simplification, of all kinds of network technologies that used to require vastly different approaches in the past. As such, WCF is relatively easy to get started with. Of course the devil is always in the detail. How exactly does a TCP/IP service get called compared to a SOAP service and what does that mean for network resources and scalability? What are the differences in security? How can one create a service that is callable as SOAP as well as REST?

We can help you with all kinds of questions surrounding WCF, be that a more advanced one as the ones listed above or a more fundamental one concerning itself with the overall architecture of your system. We can help you with entire SOA Systems, or with smaller individual network calls. We can help you by building entire applications for you, or we can help you with staff augmentation or mentoring. We can also help you with existing infrastructure (our CODE Framework) that makes it much easier to build WCF-based systems by simplifying most tasks required in WCF.

Our Expertise

We have been long-time advocates of systems being built based on many concepts made possible and feasible by WCF. We have years of experience building such systems both for in-house use as well as many of our customers. (In fact, we have been building systems that use WCF to implement SOA concepts even before the term "SOA" was invented and popularized). We have a history of teaching WCF in our training classes as well as lecturing about WCF at various conferences and writing about WCF in our own publication as well as others.

Starting a WCF Project

Projects typically aren't just "WCF Projects", but they are larger projects that include WCF in some shape or form. These projects start like many other projects, typically with a meeting (online or in person) in which we discuss what WCF really means and how one imagines building systems with it. We usually provide a short presentation to highlight the core concepts and benefits, and then demonstrate a real-life setup of systems using WCF, to give everyone a good idea of what those are like day-to-day in the real world.

Projects then often move into Proof of Concept or Prototype phases, or we perform a Vision & Scope Workshop to determine overall goals of the project, the size of the effort, and best approach. Based on the findings of this process, we decide on next steps together with the customer.

Often, WCF and SOA projects also include a training and mentoring component.

Most customers building WCF projects also end up utilizing some of our ready-made components (CODE Framework) for at least some of their needs, as they solve many of the common problems found in WCF projects and greatly improve developer productivity and reduce project risks.

Project Lifecycle and Development Approach

WCF is generally a part of larger projects and as such, the WCF part of a project just becomes part of the bigger project and utilizes the same approach (more often than not based on Agile methodologies).

Our involvement in WCF projects can be anything from simple mentoring and training engagements, to providing some of our technology, all the way to building and handling the entire project.

WCF and the CODE Framework

We have developed a development framework that covers a wide range of things encountered in today's software projects. This framework offers different features and components that can be "pulled in" as they are needed on a case-by-case and component-by-component basis. In many cases, our framework components are used in combination with other components and technologies.

Among the features of our framework are a number of helpful classes and tools specifically geared towards WCF. The provided features range from creation of services, to hosting and calling of services. We have specific tools for development and debugging, and so forth.

Many of our customers choose to use these components (free of charge in combination with our consulting services) as they provide them great benefits. Actual "mileage" varies on a case-by-case basis (we also often modify and enhance these components for specific client needs) and usage of these components is of course not mandatory and just meant as an optional benefit.

Purchase Options

WCF projects come in all shapes and sizes, and the most appropriate business arrangements for such projects needs to be determined on a case-by-case basis together with the customers. In many cases, WCF projects are set up as “time-and-materials” projects billed on an hourly basis (either billed on an ongoing schedule, through service agreements, or as pre-paid hourly blocks). Sometimes, WCF projects can also be built on a fixed-price basis, but this is only possible under specific pre-conditions and specific scenarios.

Purchasing Our Services

We offer our services in a variety of ways to meet every possible need. Options range from time and materials setups, to hourly blocks and monthly service contracts, and sometimes even fixed price setups (especially for mobile "apps"). Contact us for more information and for a Schedule of Fees.

Click here to contact us!

Related Services

Service Oriented Architecture (SOA) is a great way to build applications that are more easily maintainable, more reusable, and can support the modern world of software development that supports many different platforms, user interfaces, and devices. SOA also reduces complexity of projects.
We can help you with SOA projects of any kind, providing architecture, know-how, manpower, and even framework components that make it easier to develop SOA-based systems of any size.
Mobile Device Applications are rapidly gaining in importance and sophistication. Many applications that used to be desktop or Web-only are now available in mobile versions. Such applications may be stand-alone applications, but more often they are integrated with existing systems. We can help you to plan for and construct Mobile Apps. We can help you to extend your existing infrastructure to Mobile Apps. We can even help you with the graphic design of your Mobile Apps.

CODE Consulting develops for all major mobile platforms, including Apple's iOS (iPhone, iPad, and iPod), Google's Android, Microsoft's Windows Phone, and other platforms, such as WebOS, and more.
With a lengthy history of development and knowledge transfer in Microsoft Technologies, CODE Consulting, CODE Magazine and CODE Training are the world’s foremost experts in .NET development for Windows, Web and Mobile apps. We directly employ a staff of experts, and in addition, have the world’s largest network of contractors, through our authors, trainers, speakers, MVP and RD networks, not to mention direct connections into Microsoft. Our developers can help you with all of your .NET needs and, if required, provide access to the top experts in the technology - an ability unmatched by our competitors. Our direct involvement with Microsoft enables us to provide insight as well as foresight into the future, that is unparalleled in our industry.