by community-syndication | Nov 17, 2009 | BizTalk Community Blogs via Syndication
Hot on the heels of one CTP (StreamInsight) and timed to coincide with the opening day of the PDC, Microsoft has just released the latest version of the technology formally known as ‘Oslo’. SQL Server Modelling, as we must now learn to call it, has several improvements over the previous CTP release last May. Indeed, the previous CTP was characterised by behind-the-scenes code improvements and rewrites rather than new functionality. It is therefore doubly reassuring to see the slew of new features.
I won’t spend time going into new functionality here because Kraig Brockschmidt (yes, forall you ‘techie’s of a certain age’…this is the same Kraig B of ‘Inside OLE’ fame – every COM developer’s bible circa 1995)has just posted an excellent summary at http://blogs.msdn.com/modelcitizen/archive/2009/11/17/announcing-the-sql-server-modeling-n-e-oslo-ctp-for-november-2009.aspxtogether with links to the download and various materials. In any case, it’s getting late here and I need to go to bed. However, things are moving along. I’m looking forward to getting to grips with Quadrant which sounds like it may, at last, be beginning to make some sense.M improvements sound great.
Like others, I was deeply alarmed by Doug Purdy’s post (see http://www.douglaspurdy.com/2009/11/10/from-oslo-to-sql-server-modeling/) aweek ago, and my initial reaction was similar to many commentators (something along the lines of deep groans, punctuated by loudinarticulate screams). We must hope that the new name and product alignment, which appears at so many levels to indicate an abandonment of the deep platform vision many of us believed ‘Oslo’ represented, is just a temporary glitch in Microsoft’s modelling story. SQL Server may be a platform. Most of us think of it as a product. Windows is the platform, and we want Microsoft to do better at supporting modelling across their entire platform, and not just one, admittedly very powerful, corner of their universe <end of rant>
by community-syndication | Nov 17, 2009 | BizTalk Community Blogs via Syndication
Microsoft has just released the November CTP (CTP 3) of StreamInsight. Seehttp://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=01c664e4-1c98-4fc8-93ee-08cc039503c1.
I’ve encountered some confusion from more than one person about the status of StreamInsight, so let me explain briefly that a CTP is a Community Technology Preview.It’s not a beta as such.CTPs are closely aligned with the shorter iterative development cycles of agile methodologies. Many Microsoft product teams use them to provide insight into their progress from a much earlier stage than would be the case for a formal beta programme.So, StreamInsight is a work in progress. It hasn’t shipped yet. It isn’t necessarily ‘code complete’. It doesn’t have full documentation. Bits are missing or may not work. Under the terms of the license, you can’t use it in production. For some reason, CTPs seem to cause a lot of confusion, even in the Microsoft community, but the clue is mainly in the word ‘preview’ and partly in the word ‘community’.
So what is new? Well, looking at the help file…
Hopping windows. This is an additional temporal window model which was conspicuous by its absence in CTP2.It is, very simply, a contiguous ‘batched’ window and will be very familiar to users of other CEP products. At any one time the window provides access to the set of events that are alive within that time frame. After a fixed interval the Window is incremented in time to provide access to events in the next fixed period. Because events in StreamInsight are interval-based, an event may appear in more than one time frame. Note that the graphic in the help file appears to be slightly incorrect.Event e1 is unaccountably extended in the first two ‘hops’.
Joins. Again, highly conspicuous by its absence in CTP 2, CTP 3 now supports joins in LINQ! The fact that we have only just got this fundamental capability (what could be more central to CEP than the ability to specify joins directly in your query language) shows just how early a view Microsoft gave us in CTP 2 (CTP 1, incidentally, was a private preview released earlier this year to company employees only).
User-Defined Aggregates (UDAs). This feature allows developers to create highly customised aggregation operators for aggregating over windows.Developers create UDAs by deriving from one of two classes depending on the need to access timestamp information and also following a reasonably straightforward pattern involving creation of an annotated extension method that allows the UDA to be accessed directly within LINQ.
User-Defined Operators (UDOs). UDAs map multiple events to a single scalar value.Like UDAs, UDOs take multiple events as input but can return multiple events. They follow a very similar design pattern to UDAs, but return an IEnumerable<T> rather than a single value.
UDAs and UDOs provide a major piece of the CEP jigsaw and greatly extend the power and expressivity offered by LINQ.
Additional Query Improvements. TopK queries now allow lambdas to be used in Take() to project values from ranked events into the payload of each of the selected events.The Group and Apply operators have also been improved.
In CTP 2, .NET methods in expressions included in LINQ were evaluated at query translation time, which wasn’t much use. In CTP 3 they are now evaluated at run time.
CTI improvements.In CTP 2, CTIs could only be enqueued in code in an input adapter. CTP 3 provides support for declarative CTI generation by allowing query template bindings to be configured with an ‘AdvanceTime’ specifier.You can also configure an adapter factory.CTIs are then generated internally by the engine. CTIs are very cool. Declarative CTIs are very, very cool:-)
Management Service API Improvements. A number of improvements have been made to the management service API to support a richer set of views at different levels within the engine.
So, in summary, Microsoft has made significant progress since CTP2, and CTP 3, as we might hope, looks more like a complete engine. Major gaps in functionality have been filled and we can begin to see more clearly what capabilities will be included in the first release. Keep up the good work
by community-syndication | Nov 17, 2009 | BizTalk Community Blogs via Syndication
I wasn’t able to make it to PDC this year. Borrowing from Frank La Vigne who is in a similar situation, for me, PDC stands for “Preparing for Delivering Child.” Apparently my wife has an “in” with the State Department, and as such, I’m on the No Fly list until “deployment.”
That being said, MVP Rachel Appel and the wonderful folks at NotAtPDC have asked me to host this week’s festivities. If you’re unfamiliar with NotAtPDC, it’s a perennial virtual conference coordinated for those who weren’t able to make it to PDC this year. It includes industry and INETA speakers and MVPs focusing on real-world scenarios and topics.
Look for more information on the NotAtPDC web site in the coming day.
If you have specific questions, please drop me a line.
by community-syndication | Nov 17, 2009 | BizTalk Community Blogs via Syndication
Sometimes batches are sent with common header information related to messages in the batch. This information is useful for routing purposes whereas the information is also useful for processing the messages. This information may or may not be useful to other client application or processes other than the process which is processing the message. Sometimes […]
by community-syndication | Nov 17, 2009 | BizTalk Community Blogs via Syndication
Today at PDC we are excited to introduce the Windows Server AppFabric Beta 1. AppFabric evolves the existing application server capabilities of Windows Server to make it easier to build, scale and manage Web and composite applications that run on Internet Information Services (IIS).
For Web applications, AppFabric provides caching capabilities to provide high-speed access, scale, and high availability to application data These capabilities are based on the technology previously code named “Velocity.”
For composite applications, AppFabric makes it easier to build and manage services built using Windows Workflow Foundation (WF) and Windows Communication Foundation (WCF). These capabilities are based on the technology previously code named “Dublin.”
This first post provides an introduction to developing and managing WF services with AppFabric. Download the Beta 1 release at http://msdn.microsoft.com/appfabric.
Introduction to AppFabric
The benefits of having service-based applications, often referred to as SOA, to create systems based on autonomous services have been articulated in several MSDN articles. WCF is the technology that enables this, and in turn has been integrated with other Microsoft developer technologies such as ADO.NET Data Services, WCF rich Internet applications (RIA) services and WCF REST services. In .NET Framework 4, WCF has been deeply integrated with an improved WF runtime enabling you to build WCF services that are implemented with WF.
Whatever technology that you use to build and compose services together, you face challenges based on these questions:. “When building server applications what features of the platform can I take advantage of that light up my application and enable me to focus more on the business?” “Having built this application, where is the best place to test this, to run this in production, and how do I manage it?”
This post focuses on how Windows Server AppFabric, combined with the .NET Framework 4, addresses these challenges, with particular emphasis on WF services.
Developing WF Services
Depending on the architecture of your application, typically you build services focused on the middle tier. For example, ADO.NET Data Services are suited for the data access tier and can be composed together with other services in the middle tier. For an overview of WF services in .NET 4, read the Aaron’s overview of WCF in .NET 4 on MSDN. In the middle tier, WF services are an ideal technology, since they are strongly focused on using declarative approaches for composing services for your business. For additional reading on WCF Services, David Chappell’s ’The Workflow Way’ provides an excellent introduction to the topic.
The key values that WF Services bring to service authoring are:
- Long-running applications that wait for external input for activation such as messages, thereby using resources efficiently.
- A single or sequential flow control programming model while handling the complexity of multiple async I/O calls. For example, by using a parallel activity in your WF Service you can coordinate multiple calls to other services allowing the WF runtime to take care of all the async message calls and marshaling the data back to your service.
- Coordination of messages to workflow instances with the use of message correlation. WF Services in .NET Framework 4 provide content-based correlation that enables you to query the content of a message for unique information to identify the specific workflow instance the message relates to. This enables long-running scenarios being able to activate a specific workflow instance when clients send messages.
- Consistent WCF and WF instrumentation integrated with Event Tracing for Windows (ETW). The WCF and WF runtimes now both emit ETW events for tracing and tracking to provide detailed monitoring and diagnostics. Using ETW provides greater performance, thereby having less impact on your applications.
- An expressive set of workflow activities for authoring business process. Here the Flowchart activity is extremely powerful by enabling you to more closely match the typically graphical representation of a business process drawn using Visio, for example, with the implementation of the business in code using the Flowchart.
- A simple extensibility model for workflow activities, enabling you to define your own library of business domain activities. These can be included into the Workflow Designer in Visual Studio 2010, enabling developers to more quickly build business WF services.
Hosting and Managing Services
Regardless of the technology used to build your service, where and how you run your services introduces a number of options. Today you can host your services in a process created by the Windows Process Activation service (WAS) in IIS, a Windows service or a self-hosted executable. This provides a mechanism for activating workflows, but is only one part of a broader hosting picture for providing a suitable environment to run your production applications. Typically there are other platform service requirements that as a developer you would like to take advantage of, such as application state storage (persistence), instrumentation for health monitoring, caching, and other capabilities that provide scalability and reliability to deployed applications. Windows Server as an application server today provides services you can take advantage of such as MSMQ for message queuing, and the event log for diagnostics.
Windows Server AppFabric builds on the application server capabilities in Windows Server to 1) host and manage your WCF and WF Services and 2) provide a distributed in-memory data cache. AppFabric provides a set of common services that your applications can take advantage of thereby allowing you as a developer to concentrate on building solutions that solve key business problems. These common services are focused on enhancing Windows Server’s WCF and WF Service hosting capabilities, and making it easier to manage these services. Additionally the distributed cache introduces rich scale-out capabilities for applications built using .NET Framework.
Persisting WF Services
The key scenarios this enables are;
- Reliability – The ability to persist (save) workflow state and reliably resume workflow instances that have been idle for a defined time interval.
Availability – The recovery of saved workflow state when an application, process, or computer terminates unexpectedly.
- Scalability – The ability to unload idle workflow instances from memory to efficiently use resources, the capability of retrying to load workflow instances when a message arrives on a different computer in the host farm, and gracefully handling retries when there is a lock on the instance.
Windows Server AppFabric provides a Windows service called the Workflow Management service (WMS) that manages instances in the persistence store. AppFabric can install a SQL Server persistence store for your WF Services which the WMS monitors to enable the scenarios above. AppFabric also supports other store solutions as well.
Monitoring
The key scenarios this enables are;
- Health monitoring – How well is my app running? The ability to see expected healthy events occur within your service to know that it is still operational.
- Troubleshooting – What has failed with my app? The ability to quickly diagnose failures within your service and either correct these or provide a developer with further detailed information.
Windows Server AppFabric provides a Windows service called the Event Collector service that captures health and failure events from your services and writes these to a SQL Server monitoring store, or another store built to leverage the pluggable AppFabric monitoring solution. This provides analytical data about your applications. You can either take advantage of rich UI tooling integrated into IIS Manager to view these events in the monitoring store, or build your own reporting using SQL Server Reporting Services or another data analysis solution, to view this data.
Process Hosting
The key scenarios this enables are:
- Efficiently using computer resources by hosting services in the Windows Process Activation Service (WAS) in IIS. IIS and the WF runtime are deeply integrated. For example, if IIS decides to recycle a process due to memory constrains it will communicate with the WF Service to ensure that a graceful shutdown occurs, thereby allowing the service to be restarted in another process or on another computer by the WMS.
- Auto-start to “warm-up” services hosted in IIS. When the computer starts, or when IIS starts, services can be pre-warmed, thereby reducing the latency on the first message.
By integrating the WF runtime deeply with the IIS/WAS process activation model, WF Services are ideally suited to being hosted in IIS/WAS and benefit from the rich hosting capabilities that IIS/WAS provide.
Distributed Caching
Distributed, service-oriented applications often require support for a large number of users, and high performance, throughput, and short response time. Services are increasingly moving “far away” from their underlying data stores and in many cases those data stores are “expensive” to access due to both technical and licensing costs. As a result, developers are increasingly forced to find alternatives to continually accessing the physical data store and often turn to caching to meet these challenges.
Windows Server AppFabric provides a distributed, in-memory, application cache for developing scalable, available, and high-performance applications. The caching capabilities fuse memory across multiple computers to give applications a single unified cache view that can be easily scaled-out by simply adding more computers on demand.
Some key caching features provided by Windows Server AppFabric include:
- Caching any serializable CLR object and providing access through simple cache APIs
- Enterprise scale: tens to hundreds of computers
- Configurable to run as a service accessed over the network
- Dynamic scale-out by adding new nodes
- High availability through backup copies
- Automatic load-balancing
- Seamless integration with ASP.NET with an ASP.NET Session State Provider (better perf and scale and no more sticky routing!)
- Integration with administration and monitoring tools such as Windows PowerShell, Event Tracing for Windows, and System Center.
Tooling
The tooling support for services in Windows Server AppFabric will be covered in more detail by future posts. Integrating tooling into IIS Manager provides a familiar management, control, and monitoring experience for the IT professional managing applications in a production environment or the developer troubleshooting deployed applications. In addition, AppFabric provides an extensive set of Windows PowerShell commands to enable you to script the capabilities in the UI.
Summary
This post describes the key benefits of building WF Services with Visual Studio 2010 and .NET Framework 4, and the benefits of hosting these in Windows Server and managing and scaling them with AppFabric.
The deep integration of WCF and WF provides an intuitive approach for developing declarative WF Services. WF Services make it possible to build long-running services that take advantage of the service coordination support provided by the workflow runtime, enabling you to use workflow to solve key business problems.
Windows Server AppFabric adds improved hosting capabilities to Windows Server to efficiently host all your WCF services, including WF Services. Additionally, AppFabric provides common services that help you as a developer build scalable Web and composite applications.
Downloads
You can download Visual Studio 2010 Beta 2 from the Visual Studio 2010 page on MSDN.
You can download Windows Server AppFabric Beta 1 from AppFabric page on MSDN.
by community-syndication | Nov 17, 2009 | BizTalk Community Blogs via Syndication
Hi all
I KNOW it is old, but I have just today finally taken the time to listen to an interview
on Channel 9 with Sean O’Driscoll, who is the general manager for community support
and the MVP program. You can find it here.
Sean talks a lot about what the MVP program is, and I’d like to just take a couple
of really important points from his talk and list here
-
The MVP award is a “Thank you” for your PAST efforts in the communities. There are
NO expectations to an MVP about what to do the next 12 months or the next day, even.
-
The MVP award lasts 12 months. After that you will have to be reevaluated to see if
your past 12 months of contributions to the community have been good enough to warrant
a reaward.
-
A true MVP gets the award not because he wants the award but because he wants to help
people. A true MVP would do exactly the same effort in communities even if there was
no MVP award.
Especially the third point is important to me. I mean.. the first time I was awarded
the MVP title, I got an email from MS stating that I had been nominated, and I had
to go search on the internet to find out what the MVP award was, because I had NO
idea
Anyway, it’s a good video – go watch it! 🙂
Edit: Only 15 minutes after I posted it: Sean is no longer GM of community support.
Toby Richards is that now. Big thanks to my very fast MVP lead Gerard
Verbrugge for setting me straight! 🙂
—
eliasen
by community-syndication | Nov 17, 2009 | BizTalk Community Blogs via Syndication
If you follow my blog, you know I tend to get involved early and be all over things like Dublin, Azure, BizTalk “1.0” in 1999, Windows Workflow Foundation in 2003, et al. Also, Microsoft does not ship products with their code names. So, the time has come for us to bid goodbye to Dublin. I had the pleasure of being involved early with it, see it through its infancy, but now its gone — forever. But, it has morphed into something bigger than what I (for one) saw coming.
Today at PDC Bob Muglia, President Server and Tools Business, introduced the world to Windows AppFabric.
Windows Server AppFabric is a new set of capabilities, bringing together the functionality of Dublin, as well as Velocity (a high-performance, distributed, highly-scalable in-memory cache). In a related move, the Service Bus and Access Control Services that were formerly part of the .NET Services brand have also been rebranded and we now have we now have “Windows Azure platform AppFabric Service Bus” and “Windows Azure platform AppFabric Access Control services” (far too many words to form an acronym :)). Those are available today in CTP form as I blogged about here.
What’s really interesting to me is the continued blurring of where “on premises” ends and where “the cloud” starts. I’ve been tinkering in my spare time on some cool stuff (blog posts soon, I promises :)), that highlight this blurring. In that work though, I had some things executing in the cloud, communicating with my ESB behind the firewall, but AppFabric takes that concept a step further. The long term vision is that you will be able to take your app, and deploy it wherever you want to. Some or all may run on-premises, some or all may run in the cloud. The execution locale won’t matter, and if the vision is fully realized (and I firmly believe it will be), your code will be the same. There are however, two distinct AppFabrics, the local Windows Server AppFabric, and the Azure platform AppFabric.
This is being called “symmetrical application services”, and the appeal is obvious. Your “killer app” can just be pushed up to Azure, with no code changes, and you can handle Internet-scale traffic.
So, what does this mean to BizTalkers? Just keep on doing what you’ve been doing. We’ve been right all along. By bringing in the capabilities formerly in code-name Dublin, AppFabric provides host capabilities for .NET 4.0 Windows Workflow Foundation and Windows Communication Foundation services, with extended management through the IIS manager, plus the ability to do service monitoring. You can even roll in the BizTalk Adapter Pack (license required, but can be licensed separately from BizTalk) and get connectivity to some popular line-of-business systems. However, just talking to SAP may not be good enough to do your integration. What if it’s down? Now you need to write retry logic. What if it returns an error? Now you need to write compensation logic. And so forth. BizTalk has always been, and continues to be, Microsoft’s integration server. It includes all the transactional semantics and “plumbing” that you need to integrate your systems and trading partners, as well as provide a solid foundation for a SOA infrastructure, particularly when combined with the ESB Toolkit. In addition, as I’ll explain in future posts, there will be good support for AppFabric from BizTalk.
Later today I’ll be posting something about the BizTalk announcements which will happen this afternoon.
Beta 1 of Windows Server AppFabric will be available today. I’d encourage you all to go off and explore some of the exciting capabilities. Get it at http://msdn.microsoft.com/AppFabric.
by community-syndication | Nov 17, 2009 | BizTalk Community Blogs via Syndication
After numerous months of development, several intense weeks of knocking off final todo lists, and a very intense ship day (today), we're excited to announce the next major release of Pluralsight On-Demand!, our .NET Training Library for Microsoft developers –> http://www.pluralsight.com.
We listen. The following new features are in direct response to what our customers have been asking for this year:
- More content period – we've nearly tripled the amount of content in the library over the last year, with much more on its way.
- More beginner content – we've invested heavily in our "how to" library and our "beginner tutorials" to help round out our larger, advanced training courses
- Less expensive plans – we now offer three flexible subscription plans, with a range of features and price points
- Flexible payment options – in addition to our three yearly plans, we also offer a new monthly payment option starting at just $99
- Downloadable videos – we now offer downloadable WMV / Zune / iPhone / MP3 formats for all training videos, so you can better take advantage of your commute
- Course slides & demos – you can easily download all of the artifacts you see in the videos for offline use right from within our custom player
- Hands-on lab exercises – you can download lab exercises with setup guides and follow step-by-step exercises to help cement the learning concepts
- Ask your questions – we now offer the ability to ask your questions to our expert technical team through our public "office hours" model
For more information, explore the library and compare the new subscription plans we offer. Also, you can sign-up for a free guest pass in seconds to check out the content for yourself.
If you happen to be at PDC09 this week, be sure to stop by the Pluralsight booth to receive an exclusive trial subscription, to enter a drawing for three Zune HD giveaways packed with Pluralsight On-Demand! training videos, and to pick up one of our new Pluralsight On-Demand! t-shirts while supplies last. 😉
Happy Learning.

by community-syndication | Nov 17, 2009 | BizTalk Community Blogs via Syndication
Tomorrow at PDC09, I will be co-hosting a panel on cloud computing with several other cloudy-heads – we'll discuss how likely it is for cloud computing to dramatically change your life in the future, and how soon that change might happen. If you're interested in cloud computing, come and check it out in the BOF area.
Tuesday, 11/17 12:30-1:15 p.m.
Bring your questions. You will benefit from this special discussion whatever your role is in the technology world. You can read more about the session here.

by community-syndication | Nov 16, 2009 | BizTalk Community Blogs via Syndication
Hi everyone, the website for hosting webcasts built on Azure technology spearheaded by fellow MVP Alan Smith has had a URL facelift. The new website URL is http://www.cloudcasts.net/ so update your links and favourites.
You can watch my presentations here (currently just the one on the WCF-SQL Adapter for BizTalk):
http://www.cloudcasts.net/Default.aspx?presenter=Thiago Almeida
Regards,
Thiago
[…]