If you’re having scalability problems and blaming it on a single technology, chances are, you’re doing it wrong.
If you attended my HDC 2010 session “From Datasets to Data Services” and want a copy of the slide deck and code, you can get them from my HDC10 Skydrive folder.
As usual, the Heartland Developers Conference was killer. If you want to attend a great conference and don’t want to spend a ton of money, you may want to look into the next HDC.
Share this post: email it! | bookmark it! | digg it! | reddit! | kick it! | live it!In this episode, the one and only Windows Azure Tactical Strategist, Steve Marx, joins Dmitry and Peter to give us an update on the Windows Azure platform. Steve talks about common real world Windows Azure use patterns, including storage and compute instance configurations.
Steve uses some strategic tactics to tell us what’s in the tea leaves for the future of Azure. Peter also responds to “cat ladies & acne-laden teenagers” by sharing “The Memo”.
CLICK HERE TO LISTEN! Steve Marx: The Face of Windows Azure! Show Notes & Resources Items Discussed with Steve MarxEvan Nagle on Cat Ladies, Tool, and Microsoft.Data
Connect With Steve Marx:
Windows Azure Stuff:
Yesterday, I made the trip into NYC to added the OData Roadshow.
For those who have not looked into OData:
The Open Data Protocol (OData) is a Web protocol for querying and updating data that provides a way to unlock your data and free it from silos that exist in applications today. OData does this by applying and building upon Web technologies such as HTTP, Atom Publishing Protocol (AtomPub) and JSON to provide access to information from a variety of applications, services, and stores.
Overall, I really like the concept. Simple conventions for querying and representing data. IMO, this is the kind of stuff Microsoft should be doing more of (instead of silverlight/windows phone/etc). Couple with their data market (Dallas). I would expect to see much more data becoming available via OData.
On a side note, if the OData Roadshow is coming through your town, I would highly recommend checking it out.
Finally, for a walk through on setting up your own OData service, check out Hanselman’s OData For StackOverflow post.
Just got word from Andrew Brust that he is launching a new user group in NYC focused on the Microsoft Business Intelligence stack! Their first meeting kicks off on September 13th, 2010 in the Microsoft NYC office. The group is so new that they don’t even have their website set up. I’ll get a link up here on my blog once they do. In the meantime, they’ve set up a registration page for the 9/13/2010 meeting on Click2Attend (link here).
Details from Andrew:
Many of you know that Business Intelligence (BI) has long been a passion of mine, ever since the release of SQL Server 7 and its OLAP Services (now Analysis Services) component. With the growing number of BI features in Office and SharePoint, including the new PowerPivot self-service BI engine, Microsoft BI is now hitting a point of true resonance in the MS ecosystem. The challenge is that the MS BI stack is scattered over several products, including SQL Server, Office and SharePoint. This means information, events and support around the MS BI stack are scattered as well, creating certain barriers to successful and enjoyable adoption.
With that in mind, and with the support of others in the NYC-area Microsoft user group community, I have decided to launch a new user group focused on Microsoft BI; nothing more and nothing less. This group’s monthly meetings will feature subjects that include deep dives on the Microsoft BI Stack’s component products, the developer story around them, third party products, and how to integrate Microsoft BI tools with other Business Intelligence platforms.
The group will meet the 2nd Monday of each month, at Microsoft’s NYC offices at 1290 Avenue of the Americas (6th Avenue). Our first meeting will be in less than three weeks, on Monday, September 13th. Our Web site is under construction but should be up within one week. For now, please simply register at the link below:
REGISTER HERE!We have a great speaker and topic lined up! It features an introduction to the entire MS BI Stack, and is a terrific talk for our inaugural meeting. Here are the details:
Introduction to the Microsoft Business Intelligence Stack
This demonstration will provide a whirlwind tour of the major components of the Microsoft BI stack. Borrowing from the “begin with the end in mind” approach, We’ll kick things off with an end result: a SharePoint 2010 multi-page dashboard consisting of different business scorecards and integrated reports/charts for summary/detailed analytics.
From there, the presentation will step backwards and trace the formative steps towards the end goal, and how developers can use the different products in the Microsoft BI stack (Integration Services, Analysis Services, Reporting Services, PowerPivot, and PerformancePoint Services), to build solutions for ultimate deployment to SharePoint.
Attendees will come away with some exposure of what each tool in the BI stack can do, and how the tools can be made to work together.
Speaker: Kevin S. Goff
Kevin is a Microsoft SQL Server MVP, a Columnist for Component Developer (CoDe) Magazine, a SQL Server/Business Intelligence Senior Trainer and Curriculum author at SetFocus LLC and has been an Industry developer, speaker and writer since 1987
Please register and spread the word. Thanks in advance and I look forward to seeing you on September 13th!
Andrew J. Brust
Chief Technology Officer
twentysix NEW YORK, a Tallan company
Firestarter events have been growing quite popular over the past year or two. These are all free training events that focus on a single topic from intro to 300-level in a day. Feedback from past Firestarter attendees have been universally positive. Here in the tri-state area we’ve seen multiple Firestarter events on Silverlight, ASP.NET MVC, Agile Programming, and WCF. Just last week, I announced that there will be Firestarters on Windows Phone 7 (9/7) and the Entity Framework (9/27) coming to NYC.
It should be no surprise that given the popularity of these events, the folks here at Microsoft have been busy working on helping create more of them! Today, I’m happy to announce a new series of Firestarters on the Microsoft Web Platform! These will be running from late September to December in cities up and down the east coast of the US. There will be local stops in Iselin, NJ (9/30) and NYC (10/26)!
Come on out to learn about the latest in web development on the Microsoft platform. We’ll take you on a tour of ASP.NET Web Forms & MVC, explore the new WebMatrix, as well as show you techniques for creating effective web applications with CSS, jQuery, and AJAX.
The AgendaTo the Web with ASP.NET 4 Web Forms
The tried-and-true approach for creating effective and robust websites, ASP.NET 4 Web Forms offers powerful abstractions and rapid application development features. Add in recent advances in ASP.NET 4 and Visual Studio 2010 and you’ll be crafting amazing sites in no time.
Looking at ASP.NET MVC
ASP.NET MVC (Model View Controller) is a relatively new option, offering a variety of potential benefits such as separation of concerns, flexibility, control, and testability. In this session, you’ll learn the essentials, along with the latest advances, so you can get started right away.
The Web Platform Smorgasbord (Lunch included!)
Grab a bite to eat and join us for this relaxed but rapid-fire lunchtime look at a variety of web topics, including tools and tech that you’ll surely find appetizing.
Introducing WebMatrix
WebMatrix is a new option that provides a simple but powerful way to create web applications. You can create sites based on existing open-source applications, or dive right in and create from scratch. From code and testing to data and deployment, we’ll introduce WebMatrix and show you how it can make your life easier.
Evaluating Your Web Options
You’re up to speed with the latest in ASP.NET MVC, Web Forms, and WebMatrix, but you may be wondering how and when to choose between them. The great news is you don’t always have to choose just one. In this session we’ll talk about factors to consider, options for adoption/migration, and ways to combine ASP.NET Web Forms and MVC in the same web application.
Creating Effective Websites with ASP.NET
Knowing how to create websites with ASP.NET is important, but making them effective is the key. This final session dives into additional options and techniques that apply to both Web Forms and ASP.NET MVC applications. From scripting with jQuery and AJAX, design with CSS, markup and validation techniques, and tools for testing, you’ll learn how to set your sites (and skills) apart from the rest.
Registration & DetailsUse the links below to register for the Microsoft Web Platform Firestarter in the city closest to you.
City Date Link Iselin, NJ 9/30 Registration New York, NY 10/26 Registration Farmington, CT 11/2 Registration Waltham, MA 11/4 Registration Chevy Chase, MD 11/9 Registration Malvern, PA 11/16 Registration Tampa, FL 11/30 Registration Orlando, FL 12/2 Registration Atlanta, GA 12/9 Registration Raleigh, NC 12/10 Registration More Firestarters?Be on the look out soon for information regarding a series of Windows Azure Firestarters coming soon in November & December!
The Entity Framework is a set of technologies in ADO.NET that support the development of data-oriented software applications. First introduced in .NET 3.5 SP1 in 2008, the Entity Framework underwent significant changes in its second version, known as Entity Framework 4, released in Visual Studio 2010 earlier this year. If you haven’t looked at EF before due to “V1 concerns”, now is the time to check it out.
What better way to learn about the Entity Framework than from the east coast’s resident EF guru, Julie Lerman! Join Julie, Rachel Appel, and Stephen Bohlen for a full-day learning event at the Entity Framework Firestarter in New York City! They’ll spend the whole day bringing you up to speed on all you’ll need to know about the Entity Framework and how it can help with your application development.
Date: Tuesday September 27th, 2010
Location:
Microsoft NYC Office
1290 Ave of The Americas, 6th Floor
New York, NY 10104
Doors open at 8:00am. Sessions run from 8:30am – 6:00pm. Lunch will be served.
Intro by Julie Lerman
Why EF exists, where it fits into ADO.NET and long term MS strategy, basics about how EF works and some simple first step demos in VS2010.
What’s new in EF4 by Julie Lerman and/or Steve Bohlen
Designer support, model first, stored procedure mappings, pass through sprocs. Lots of the other new stuff is in later talks.
RAD development with EF by Rachel Appel
Drag & Drop with WPF, EntityDataSource, ASP.NET Dynamic Data Sites.
Entity Framework POCO Support Basics by Julie Lerman
How to create snapshot POCOs and dynamic proxy POCOs, differences between their behavior, new T4 code generation, customizing T4 for more targeted POCO classes
Disconnected strategies (WCF/ASP.NET) by Julie Lerman
Leverage new methods for custom WCF/ASP.NET apps, Self-Tracking Entities, quick look at WCF Data Services/oData & WCF RIA Services
Writing Testable/Maintainable Apps with EF by Julie Lerman & Steve Bohlen
Build simple repositories, unit of work, unit tests, use them all in MVC app…
Closing/Raffle
Stay for the closing remarks and raffle.
REGISTER HERE!Registration will sell out quickly, so sign up right away to guarantee your spot at this free learning event!
In this episode, Dmitry and Peter cover the latest news around the Microsoft developer space, including Windows Azure updates, interoperability, & Windows Phone 7. They also talk about the new Visual Studio LightSwitch. Is it really for cat ladies?
Peter & Dmitry discuss who the target audience is for LightSwitch as well as how some in the community feel it may or may not impact professional Microsoft Developers in the industry.
CLICK HERE TO LISTEN! Show Notes & Resources Items Discussed During Episode #35Windows Azure Stuff:
Interop Stuff:
Windows Phone 7 Stuff:
Conference News:
Visual Studio LightSwitch stuff:
A couple of months ago I wrote about wiring up C# 4.0 dynamics with MongoDB. At the time, I opened up the MongoDB-CSharp library and modified a bit of the code.
For obvious reasons this was not a good long term solution. In what appeared to be moment of clarity a couple of days ago, I decided to try to use extension methods and add dynamics on top of MongoDB-CSharp.
To the credit of the MongoDB-CSharp team, getting the basic functionality up and running was very simple. However, in the end it turns out that two compiler hacks (extension methods and dynamics) do not make a right. :)
Once in place, the code to use it looks something like this:
using (var m = new Mongo()) { var db = m["mongocsharp"]; //ext method to get our "special" collection var col = db.GetDynoCollection("sample"); m.Connect(); //dynamic object to store our data dynamic newDoc = new DynoDocument(); newDoc.title = "Dyno Collections"; newDoc.slug = "dyno"; col.Insert(newDoc); dynamic query = new DynoDocument(); query.slug = "dyno" dynamic result = col.FindOne(query); Console.WriteLine(result.title); m.Disconnect(); }While it works, it still feels too awkward to be useful IMO. Normally, this I would just delete something like this, but I am trying to let less code die on my machine, so I published it all as a GitHub gist: DynoMongo.
After working on this, I have come to the following conclusions:
Anyway, if someone feels this is interesting or useful, feel free to grab the gist, DynoMongo, and run with it.
Flexibility is the ability to change how software works; power is the ability to do more with less effort.
In this episode, guests Ben Dewey & Kent Brown join Peter to discuss the latest release of the Apache Stonehenge project. Ben & Kent talk about the .NET, Java, and PHP interoperability project and how it now handles identity. (Interview starts at 26:21)
Also, Dmitry & Peter rap about Web Farms, Ribbons & Bows, Windows Phone 7, and Power Tools. They also take us on another trip to Dmitry’s SoapBox!
CLICK HERE TO LISTEN Show Notes & Resources Items Discussed During News & BanterVarious .NET Stuff:
Interop Stuff:
Windows Phone 7 Stuff:
Visual Studio Stuff:
Ben Dewey & Kent Brown Stuff:
Apache Project Stonehenge Stuff:
With all the excitement around the upcoming new Windows Phone 7 platform, it was just a matter of time! I’m happy to announce that Microsoft is going to be hosting a series of Windows Phone 7 Firestarter events around the Eastern US starting this month. If you’re looking to learn more about the development opportunities on this new platform, these will be the events for you! Look out New York City… the WP7 Firestarter comes to town on Tuesday, September 7th.
Dream It. Build It.The power to build smart, visually stunning games and applications is right in your hands with Windows Phone 7. Want to see what's under the hood? You are invited to join your local Microsoft Developer Evangelists for an inside look at the Windows Phone 7 platform. You'll learn how to harness the strength of Silverlight and XNA to create compelling user experiences with rich, multi-media content. We'll also outline the new distribution and revenue opportunities Windows Phone 7 and the Windows Marketplace offer to web, game, mobile and interactive developers and application publishers.
Morning Sessions:
Lunch (included)
Afternoon Sessions:
Amplify your creativity, productivity and profits with Windows Phone 7 – and don't miss these full-day sessions in your local area. This is an exclusive, advance invitation for our preferred customers, so register today and save your seat.
Windows Phone Garage| 6pm – 9pmFollowing the Firestarter events will be a Windows Phone 7 Garage for mobile application developers each evening featuring hands-on workshops. (<—And I’m guessing an opportunity to see your app run on an actual WP7 device!) These events will follow the Firestarter from 6-9 pm and require a separate registration. This hands-on workshop will feature one-on-one proctoring from Microsoft and community experts. It's the perfect opportunity to design and implement that cool new app you've been dreaming about, so bring your ideas and get ready to code. To learn more about the Phone Garage event or to register, click on an event city near you. Hurry, space is limited!
If you can dream it, you can build it with Windows Phone 7.
Use the links below to register for the city nearest to you:
Windows Phone 7 Firestarter
Windows Phone 7 Garage
To register, select a city To register, select a city Atlanta, GA 8/24/2010 Atlanta,GA 8/24/2010 Waltham, MA 8/24/2010 Waltham, MA 8/24/2010 Tampa, FL 8/31/2010 Tampa, FL 8/31/2010 Ft. Lauderdale, FL 9/2/2010 Ft. Lauderdale, FL 9/2/2010 New York, NY 9/7/2010 New York, NY 9/7/2010 Raleigh, NC 9/8/2010 Raleigh, NC 9/8/2010 Chevy Chase, MD 9/21/2010 Chevy Chase, MD 9/21/2010 Charlotte, NC 9/21/2010 Charlotte, NC 9/21/2010 Philadelphia, PA 9/22/2010 Philadelphia, PA 9/22/2010 Pittsburgh, PA 9/28/2010 Pittsburgh, PA 9/28/2010 Farmington, CT 9/30/2010 Farmington, CT 9/30/2010Hope to see some of you at the Windows Phone 7 Firestarter in NYC on September 7th!
Oh… and if you’re not near any of these cities on the east coast, my peers in the central part of the US are hosting similar free training events by the name “Windows Phone 7 Boot Camps”. These will be in cities like Chicago, Houston, St. Louis, and Austin. For a listing of Windows Phone 7 Boot Camp cities and dates, see Jeff Brand’s blog here.
I am still very much in the camp of write good (and consistent) content first and let SEO handle itself. However, that does not mean you should not keep an eye out for fundamental problems which can cause bad search engine results.
One of these problems I believe every developer of public web sites needs to be mindful of is duplicate content. Duplicate content causes quite a few problems:
I have long been a fan of ISAPI_Rewrite for IIS to help manage and control some of these problems (which is in turn heavily influenced by mod_rewrite). However, since I have moved this site to Heroku, I needed to find another solution.
Thankfully, due to the awesomeness of Rack and middleware, I found a component called Rack-Rewrite and I was able to leverage it with just a couple of minutes effort.
A web server agnostic rack middleware for defining and applying rewrite rules. In many cases you can get away with Rack::Rewrite instead of writing Apache mod_rewrite rules.
I am already using a customized Rack application, Rack-Jekyll, to power this site, so plugging in Rack-Rewrite was just as simple as adding a couple of lines to my rackup file.
Here are the full contents of my config.ru
require "rack/jekyll" require "rack-rewrite" ENV['RACK_ENV'] ||= 'development' ENV['SITE_URL'] ||= 'scottw.com' use Rack::Rewrite do r301 %r{.*}, "http://#{ENV['SITE_URL']}$&", :if => Proc.new {|rack_env| ENV['RACK_ENV'] == 'production' && rack_env['SERVER_NAME'] != ENV['SITE_URL'] } r301 %r{^(.+)/$}, '$1' end run Rack::Jekyll.newThe two rules I am running on this site ensure that only scottw.com (no www.) is used and that no links end in a “/”. The first is particularly important since Heroku issues you a custom url as well.
What is really interesting about Rack-Rewrite is the ability to execute code as part of your rewrites. This enables a lot of flexibility (such as ignoring some rewrites when running in development mode).
My answer to this question has consistently been, “Only if you value your time”.
As an example, I just started watching Tekpub’s iPhone Development series. There is currently about 2 hours worth of content (and I believe more is on the way). The cost for the series is listed as $25 on the site.
My guess is the videos will save me about 10 to 20 hours of reading, tinkering, and just generally getting things going. Now assuming I put a value of more than $2.50/hr for my time (and i do :), the purchase1 would be a no brainer.
I also have a subscription to Peepcode which I have been loving as well.
1 Disclosure: Rob Conery did comp me a full season pass. However, this came when I was about to personally buy a license so I have no qualms writing this review.
Thanks to everyone who attended the WCF Firestarter event in New York City on June 19, 2010! I had a great time helping organize the event and speaking with many of the attendees about the Windows Communication Foundation. There were over 200 folks who made it out to the Fire Starter in NYC that day, as well as an almost equal number that tuned in via our live simulcast! Special thanks goes out to the event’s speakers Miguel Castro and Don Demsak for assembling and delivering most of the day’s content!
The recordings and content from the event are now available!
NYC WCF Firestarter Content
Miguel Castro’s Blog
Follow Miguel on Twitter
Peter Laudati’s Blog
Follow Peter on Twitter
Don Demsak’s Blog
Follow Don on Twitter
Here are some links to useful information on WCF.
Get Started With WCF NOW!Here are the links to the docs for all 3 major releases of WCF. The WCF 4 documentation is the most current, of course. The deltas between these are minor, but good to have if you’re restricted to using an older version in your organization.
WCF RESTThis is a temporary post that was not deleted. Please delete this manually. (76cd9fff-28ce-4774-b8e1-3a1641765bb1 - 3bfe001a-32de-4114-a6b4-4005b770f6d7)
So, you are a .Net developer, and you gone and built some services for your enterprise applications. You’ve spent the time building and deploying the services. You might have written them using ASP.Net, or you went all out and built them “the right way” with WCF. But for some reason, you are not seeing the return on investment. Sure, your applications are more modular, and reusable, but it takes a bit more work building the services, and other applications don’t seem to be taking advantage of the services you built. And if they are using your services, now you have to monitor them, and make sure that any changes you make will not break the other applications that use your services.
There are a couple of things they don’t warn you about when hyping service orientation:
Successful services depend on these 4 aspects of Service Orientation, but they depend on more than just developers. Architects, other developers, testers, and operation support want visibility into them.
So, to take full advantage of all the hard work you put into your services you need a repository to store all this info. And not just any repository, but one that is extremely easy to use and find the information within it. If you are an old time service developer, you might have heard about this thing call UDDI – Universal Data Discovery and Integration. It was supposed to be the way the find out and use services, but it has proven to be incredibly complex and hard to use. So, no one really used it. A much easier solution would be an REST (Resource State Transfer) based service solution. REST service tend to be much easier to use, because they are HTTP based, but because there are so many different flavors of REST implementations, discovery (querying) the data within tended to be custom for each implementation. That is until Microsoft released OpenData (OData) as an open specification. With OData, it becomes just as easy to query a repository as it is to consume it.
SO-Aware does this all for you. You can think of it as 3 separate repositories all exposed using the RESTful OData protocol. It contains:
Sounds great, but what’s in it for you, the developer? Well, the we all know that WCF configuration isn’t easy. Sure, Microsoft has made it a little easier with 4.0, but you still need to fight the WCF Configuration Editor to get the Service configuration correct, and once you do that, do you really remember how to update it when you need to? And how do you tell the operation folks to maintain it, and deploy the configurations to the service farm? Well that is where putting the configuration into a repository really pays off. With SO-Aware, you get a custom Service Host Factory, which will automatically pull the latest service configuration out of the repository for you, and reconfigures the service automatically. Need to make a change to the config, no more updating the config locally, and then trying to put a change control request into operations, or hoping that operations updates the configuration correctly, and then deploy it to all the servers. No more trying to keep the compliance documentation in sync with what is deployed on the services. Instead, those very same changes can be made via the SO-Aware portal, using templates built buy WCF experts, making it so much easier to maintain your WCF configurations.
And what is even better than configuring the service? Well that would be configuring all the clients, too. With SO-Aware, the consumers of your services have it just as easy as you do (even easier, since odds are they know even less about WCF). They can point their client proxies to the SO-Aware repository and automatically configure the client side WCF configuration. Now, there is no reason for .Net developers to be afraid of consuming WCF services. The configuration just happens for them, and they don’t even have to know about how to do it, or how to update it when it changes. All they need is what version of the service they wish to use, and it gets automatically configured for them.
Now that you have your services built and deployed (even to the test environment), as a good enterprise developer, you need to test the services, especially the binding and behavior configuration changes. Well, SO-Aware has you covered there, too. You can put your service tests into the SO-Aware Service Testing Repository via the Management Portal. Since the configuration is in the repository, and SO-Aware is written in .Net, you can sure that your Service Testing tool works with whatever bindings and behaviors you used, no matter how customized you got them. This is where most generic Service Testing tools fall down. They either only support the simplest of WS-* specifications, or don’t align with the versions implemented in WCF. With SO-Aware that isn’t the case, so you don’t have to do things like expose unsecured endpoints to work with your service testing tool. And to make things even easier, to execute your test, since SO-Aware is RESTful, all you have to do is an http get on the url for the test, and it will execute it for you. So, integrating into whatever testing framework or build management tool is a breeze.
So, we have configuration and testing covered, now onto Service Monitoring. Do you have SLAs? Or maybe you just want to know how often your service is called, and which operations are used the most. Or maybe you have a rogue request coming in and you want to record the request and response. Because your services are configured to use the SO-Aware Service Host Factory to get the configuration from the repository, it can also monitor the service and asynchronously publish that information to the SO-Aware Monitoring Repository. You can then review all this data in the SO-Aware Management Portal.
Now you are asking yourself, this tool sounds great, but I’m not sure if my company will be willing to purchase something like this. Maybe you’ve run across other Service Governance applications, and you got a little sticker shock. Or, maybe you just don’t know how valuable a tool like this would be in your enterprise, so you want to try it out in production for a while first. It really doesn’t matter, because Tellago Studios has a number of Microsoft MVPs, and we know how valuable the .Net developer community is. So, we are giving away the Express Edition of SO-Aware. With the Express Edition, you have a fully functioning product, that can be used in production. It isn’t a trial version. The only limit on the Express Edition is that you can only register five services. That, it is it. Well, there is one more thing. If you do use SO-Aware Express Edition in your organization, we would love to get feedback on the product from you. Your feedback will only serve to make future version a better product.
To get your free SO-Aware Express Edition, please fill out the Express Edition Registration Form and we will email you an activation key along with details on how to get and install the SO-Aware Express Edition.
Share this post: email it! | bookmark it! | digg it! | reddit! | kick it! | live it!So, you are a .Net developer, and you gone and built some services for your enterprise applications. You’ve spent the time building and deploying the services. You might have written them using ASP.Net, or you went all out and built them “the right way” with WCF. But for some reason, you are not seeing the return on investment. Sure, your applications are more modular, and reusable, but it takes a bit more work building the services, and other applications don’t seem to be taking advantage of the services you built. And if they are using your services, now you have to monitor them, and make sure that any changes you make will not break the other applications that use your services.
There are a couple of things they don’t warn you about when hyping service orientation:
Successful services depend on these 4 aspects of Service Orientation, but they depend on more than just developers. Architects, other developers, testers, and operation support want visibility into them.
So, to take full advantage of all the hard work you put into your services you need a repository to store all this info. And not just any repository, but one that is extremely easy to use and find the information within it. If you are an old time service developer, you might have heard about this thing call UDDI – Universal Data Discovery and Integration. It was supposed to be the way the find out and use services, but it has proven to be incredibly complex and hard to use. So, no one really used it. A much easier solution would be an REST (Resource State Transfer) based service solution. REST service tend to be much easier to use, because they are HTTP based, but because there are so many different flavors of REST implementations, discovery (querying) the data within tended to be custom for each implementation. That is until Microsoft released OpenData (OData) as an open specification. With OData, it becomes just as easy to query a repository as it is to consume it.
SO-Aware does this all for you. You can think of it as 3 separate repositories all exposed using the RESTful OData protocol. It contains:
Sounds great, but what’s in it for you, the developer? Well, the we all know that WCF configuration isn’t easy. Sure, Microsoft has made it a little easier with 4.0, but you still need to fight the WCF Configuration Editor to get the Service configuration correct, and once you do that, do you really remember how to update it when you need to? And how do you tell the operation folks to maintain it, and deploy the configurations to the service farm? Well that is where putting the configuration into a repository really pays off. With SO-Aware, you get a custom Service Host Factory, which will automatically pull the latest service configuration out of the repository for you, and reconfigures the service automatically. Need to make a change to the config, no more updating the config locally, and then trying to put a change control request into operations, or hoping that operations updates the configuration correctly, and then deploy it to all the servers. No more trying to keep the compliance documentation in sync with what is deployed on the services. Instead, those very same changes can be made via the SO-Aware portal, using templates built buy WCF experts, making it so much easier to maintain your WCF configurations.
And what is even better than configuring the service? Well that would be configuring all the clients, too. With SO-Aware, the consumers of your services have it just as easy as you do (even easier, since odds are they know even less about WCF). They can point their client proxies to the SO-Aware repository and automatically configure the client side WCF configuration. Now, there is no reason for .Net developers to be afraid of consuming WCF services. The configuration just happens for them, and they don’t even have to know about how to do it, or how to update it when it changes. All they need is what version of the service they wish to use, and it gets automatically configured for them.
Now that you have your services built and deployed (even to the test environment), as a good enterprise developer, you need to test the services, especially the binding and behavior configuration changes. Well, SO-Aware has you covered there, too. You can put your service tests into the SO-Aware Service Testing Repository via the Management Portal. Since the configuration is in the repository, and SO-Aware is written in .Net, you can sure that your Service Testing tool works with whatever bindings and behaviors you used, no matter how customized you got them. This is where most generic Service Testing tools fall down. They either only support the simplest of WS-* specifications, or don’t align with the versions implemented in WCF. With SO-Aware that isn’t the case, so you don’t have to do things like expose unsecured endpoints to work with your service testing tool. And to make things even easier, to execute your test, since SO-Aware is RESTful, all you have to do is an http get on the url for the test, and it will execute it for you. So, integrating into whatever testing framework or build management tool is a breeze.
So, we have configuration and testing covered, now onto Service Monitoring. Do you have SLAs? Or maybe you just want to know how often your service is called, and which operations are used the most. Or maybe you have a rogue request coming in and you want to record the request and response. Because your services are configured to use the SO-Aware Service Host Factory to get the configuration from the repository, it can also monitor the service and asynchronously publish that information to the SO-Aware Monitoring Repository. You can then review all this data in the SO-Aware Management Portal.
Now you are asking yourself, this tool sounds great, but I’m not sure if my company will be willing to purchase something like this. Maybe you’ve run across other Service Governance applications, and you got a little sticker shock. Or, maybe you just don’t know how valuable a tool like this would be in your enterprise, so you want to try it out in production for a while first. It really doesn’t matter, because Tellago Studios has a number of Microsoft MVPs, and we know how valuable the .Net developer community is. So, we are giving away the Express Edition of SO-Aware. With the Express Edition, you have a fully functioning product, that can be used in production. It isn’t a trial version. The only limit on the Express Edition is that you can only register five services. That, it is it. Well, there is one more thing. If you do use SO-Aware Express Edition in your organization, we would love to get feedback on the product from you. Your feedback will only serve to make future version a better product.
To get your free SO-Aware Express Edition, please fill out the Express Edition Registration Form and we will email you an activation key along with details on how to get and install the SO-Aware Express Edition.
Share this post: email it! | bookmark it! | digg it! | reddit! | kick it! | live it!Great interview of Fred Brooks in the August 2010 Wired magazine (sorry, no link at this time).
The critical thing about the design process is to identify your scarcest resource. Despite what you think that very often is not money. For example, in a NASA moon shot, money is abundant but lightness is scare; every ounce of weight requires tons of material below. On the design of a beach vacation home, the limitation may be your ocean-front footage. You have to make sure your whole team understands what the scarce resource you’re optimizing.
In this episode, guest host Andrew Brust is back again, joining Dmitry & I to talk about all of the tech news from Microsoft’s Wordwide Partner Conference in Washington, DC. The trio talks about WebMatrix, Internet Explorer 9 Preview 3, Windows Phone 7, and the newly announced Windows Azure Appliance.
A raging Dmitry also shares his poppin’ passion for HTML5.
CLICK HERE TO LISTEN! Show Notes & Resources Items Discussed During Episode #33WebMatrix Stuff:
“The Gu” Gives A New Web Toolset In 4 Days…
IE9 Dev Preview 3 Stuff:
Interop News:
Conference News:
Windows Phone 7 Stuff:
Azure Stuff:
Andrew Brust Stuff: