Categories
AntiPatterns
Architecture
Best Practices
Career Advice
Data Access Patterns
Design Paradigms
Enterprise Application Patterns
Fundamentals
Humor
Leadership
Musings
Object-Oriented Programming
Service Oriented Architecture
Software Architecture
Software Development Practices
Windows Communication Foundation
|
7/28/2008 12:00:00 AM
Rob Daigneau
SOAP has become the De facto standard for more complex service designs where there is a need for applications integration and collaboration. However, our use of WSDL and the wide-spread adoption of the Document-Literal-Wrapped pattern by SOAP toolkits have led to a proliferation of services that look remarkably like procedures and synchronous RPCs. That’s too bad, because SOAP is, at its core, a foundation for enabling one-way message exchanges. In order to more fully realize the benefits of SOA, we must reconsider the patterns we use when we design our services. Join us in this session to explore how we might evolve from a procedural orientation to a messaging orientation when using SOAP.
5/22/2008 12:05:00 PM
Rob Daigneau
Demo Code
Two camps have risen in the SOA world, the RESTafarians, and the SOAP/WSDL-ites. Each has passionately argued that they are the one true path to SOA. Now they need battle no longer, for in .Net 3.5 they have been brought together into the same happy WCF family.
In this session you’ll learn what REST is, when to use it vs SOAP/WSDL, and how to do it.
5/22/2008 12:01:00 AM
Rob Daigneau
Demo Code
A client program calls a service and must wait for it to finish before moving on to do more work. We all know how to do synchronous calls; it’s as easy as writing a “Hello World” program. But how does one design a system where lots of work can be done in parallel?
In this session you’ll see how to use WCF to do just that. You’ll learn about several patterns used in the world of asynchronous messaging including callbacks, store and forward, and conversations. This session will provide you an introduction to some of the fundamental concepts required to build distributed Event Driven Architectures.
5/22/2008 12:00:00 AM
Rob Daigneau
Demo Code
Custom behaviors provide a mechanism to modify the WCF runtime execution at the proxy (i.e. client) or dispatcher (i.e. service) via attributes or configurations. This powerful technique may be used to inject logic upon the Service, Contract, Endpoint, or Operation. While the commonly cited cases where behaviors are used include instance management, concurrency, and threading, the possibilities for this amazing WCF feature are endless.
In this session we will explore how WCF custom behaviors might be leveraged to implement a concept similar to Aspects. You’ll learn how this powerful feature can be used to apply cross-cutting logic to your services in a manner that is both simple to understand and implement. You’ll also see that the concepts of SOA, OOP, and AOP (i.e. Aspect-Oriented Programming) should be thought of as being complementary rather than competing.
11/11/2007 12:00:00 AM
Rob Daigneau
Demo Code
Both Service-Orientation and the Windows Communication Foundation (WCF) offer the promise of greater interoperability and ease of integration, but in order to realize benefits such as these we must evolve the way we architect solutions. While many of the lessons learned from Distributed Object-Oriented Architectures can be leveraged, much of what we did “back in the day” will not help us to achieve the goals of SOA even if we choose to use the WCF. In fact, many of the old ways have become Anti-Patterns. In this session you’ll see how the WCF can be leveraged to create extensible, versioned, responsive, interoperable, and easy-to-maintain services.
Contains a lot of code samples demonstrating anti-patterns in contract design, message exchange patterns, and patterns for flexible service design.
8/10/2007 7:57:28 AM
Rob Daigneau
So you think you know what it means to be a software architect? Are you sure? Some people simply equate software architecture with the design of things like services, interfaces, applications, and so forth. In practice, software architecture and the responsibilities of the architect encompass much more than you might think. Join us in this session as we explore what it means to be a software architect from one who knows. We’ll take a look at the different species of architects, the work of the architect, the skills required to do the job, and some common issues the architect must confront. We’ll also attempt to answer the question, "Should architects code?"
8/10/2007 12:00:00 AM
Rob Daigneau
The creation of software products is a highly complex endeavor. One methodology after the next is touted as being the solution to smoother project execution, but the pundits never seem to account for the chasm that exists between academia and reality in corporate world. This chasm exists because of the human factor, the ingredient which ultimately has the greatest influence upon the success of any software project. Join us in this session to see how people, teams, leadership styles, and politics can subvert the benefits that we should be realizing from strategic architecture plans, modern methodologies like Agile, and IT governance processes. We will identify some of the common anti-patterns attributable to people and organizations, and look at ways to address these self-defeating behaviors in positive manner.
5/18/2007 12:56:51 PM
Rob Daigneau
The benefits attributed to SOA have been trumpeted by many a pundit and vendor. We’ve heard that this architectural style will yield greater business agility and adaptability, reuse, productivity, interoperability, ease of application integration, better versioning, and even higher availability and performance. Is it really possible that SOA will be able to deliver upon such lofty goals, and is there anything inherent in this approach that ensures these desired outcomes? Join us in this session to see how some of the goals of SOA might realistically be achieved, and where we might want to reset our expectations.
4/5/2007 5:14:35 PM
Rob Daigneau
Demo Code
Both Service-Orientation and the Windows Communication Foundation (WCF) offer the promise of greater interoperability and ease of integration, but in order to realize benefits such as these we must evolve the way we architect solutions. While many of the lessons learned from Distributed Object-Oriented Architectures can be leveraged, much of what we did “back in the day” will not help us to achieve the goals of SOA even if we choose to use the WCF. In fact, many of the old ways have become Anti-Patterns. In this session you’ll see how the WCF can be leveraged to create extensible, versioned, responsive, interoperable, and easy-to-maintain services. We’ll also see how Microsoft’s “Web Service Software Factory” might help or hinder us in our efforts.
5/13/2006 4:31:18 PM
Rob Daigneau
Demo Code
The .Net framework offers significant benefits in terms of performance, productivity, and ease of maintenance, but the cost of admission to the party is a basic understanding of Object-Oriented Programming. This session will provide you the fast-path to OOP you've been seeking. You'll see that everyone can do OOP.
9/27/2005 12:00:00 AM
Rob Daigneau
Demo 1 Demo 2
We all know and love the Dataset and the various data-oriented wizards that abound in Visual Studio. These items provide very powerful functions and facilitate the speed of development, but in their use are we being shortsighted? In this session you’ll learn about data access patterns that will help you evolve your object and database models independently. We’ll also explore data-access oriented design patterns that contribute to superior application performance. Related Articles How to Adapt a List of Domain Objects for Use In a Bound DataTable Behind the Data Mapper Pattern
6/16/2005 11:40:51 PM
Rob Daigneau
Design Patterns are in vogue these days, but unfortunately Anti-Patterns seem to prevail. Here's a light-hearted and satirical look at the common ways architects and developers shoot themselves in the foot.
|