an online marketing solution

Related Articles
Personnel cited as critical to SOA governance 16 November 2007
While technology and the setting of policies often are cited as critical to SOA governance, an HP official Thursday emphasized another key factor: Having the right personnel.During a Web conference, officials from HP, IBM, Software AG and WebLayers all discussed case studies in implementing SOA, recalling experiences at clients such as Thompson Financial, NASA, IBM itself, and an unidentified auto manufacturer. The online conference was entitled "Keys to Business-Critical SOA: Governance IV."Financial services solution provider Thompson was mentioned by both HP and WebLayers, who are providing products like HP Systinet services registry software and WebLayers Center for SOA governance."One thing I want to highlight that really made Thompson successful here also was that right at the beginning of the process, they made a very concerted effort to attract and retain top-notch SOA professionals who understood the importance of governance," said Kelly Emo, HP director of SOA software product marketing."They have more than 800 services in their central repository now," she said.Scandinavian Airlines deployed SOA to deal with changing requirements, said Miko Matsumura, Software AG vice president and deputy CTO."The thing I think they started to do was look toward SOA as a solution for getting a handle on these essentially complex requirements," Matsumura said."I think one of the biggest requirements is dealing with heterogeneity," he said. Different groups were dealing with .Net, Java, a Tibco enterprise service bus, and a BEA Systems application server. The airline began using the Software AG CentraSite repository for governance, Matsumura said.Software AG was able to provide the airline with more visibility and control, said Matsumura said."I think the thing that really resonates with this customer in particular is the concept that change and time inherently produces complexity within IT systems," he said."What governance provides essentially is a rational way of managing the change," by providing policies that ensure that complex combinations of things do not result in adverse consequences, said Matsumura.Working with an unnamed auto manufacturer, IBM established a "center of excellence" around SOA governance, said John Falkl, chief architect for SOA governance in the IBM Software Group. The goal of the center of excellence should be to promote SOA and the adoption of SOA, Falkl said.In working with the company, IBM saw a need to align business and IT, he said.HP also worked with NASA on its ECHO (Earth Observation System Clearinghouse) program, which supports the Earth-observing community. The project is primarily about data as a service, Emo said."What the NASA ECHO project did was instill a governance process and a consistent methodology for enabling all these data services to be published and used both inside NASA and by their partners while they maintained control over how the services were actually published," Emo said.SOA was used to support publication and discovery of data resources from a number of providers. The project now features 70 million services.WebLayers helped implement a new architecture at GE Money, a large financial services firm that had been spending $1.1 billion on IT with 70 percent of that going to maintenance, said Guy Loewy, CTO and co-founder of WebLayers. The company wanted to focus more on new development and previously had failed with two previous revamp attempts involving a mainframe and new technology from other companies."The challenge that they had was they wanted to have global control yet provide each country and specific project control over their own policy," Loewy said."The biggest challenge with SOA is around politics and control," he said.
 
Video distributor to FCC: Stop ISP traffic 'throttling' 15 November 2007
A distributor of online video content has filed a complaint with the U.S. Federal Communications Commission, asking the agency to stop broadband providers from blocking or slowing p-to-p (peer-to-peer) traffic.The petition filed by Vuze, which uses the BitTorrent p-to-p protocol to distribute Web content, asks the FCC to set rules for network management by ISPs. Vuze's filing late Wednesday follows reports last month that cable broadband provider Comcast slows some p-to-p traffic, including BitTorrent.Broadband providers often promote their services as being necessary for watching video online, but then they slow access to a service such as Vuze's, said John Fernandes, Vuze's vice president of marketing. "They say that they're engaging in reasonable network management, but what they're doing is slowing down some traffic," he said.Vuze, which has partnerships with several movie studios, television networks, and PC game makers, wants to start a dialog with ISPs about what kind of network management is allowed, added Gilles BianRosa, the company's CEO. But the FCC needs to prohibit large-scale content blocking, what he called traffic "throttling," he said."The ISPs cannot decide unilaterally what to do with third-party Internet services such as us," BianRosa said. "We need to work with them to design a solution that works and is fair."By blocking or slowing video and other Web content, ISPs are fighting against customer demand for more multimedia services, BianRosa added. "We think that ISPs are spitting into the wind with that kind of approach," he said. "This kind of blocking has to stop."Representatives of two large broadband providers, Comcast and Verizon, didn't immediately respond to a request for comments on Vuze's FCC filing. Comcast has denied blocking Web content, but some broadband providers have opposed other attempts to create rules against blocking some types of traffic, saying they need to be able to ensure quality of service by managing their networks.The FCC has all the authority it needs to "address claims of unreasonable conduct," an AT&T spokesman said. "Broadband providers must have the ability to manage traffic to provide all consumers with high-quality service," he added. "Additional rules or legislation are totally unnecessary."Vuze's FCC petition is similar in some ways to calls by consumer groups and Internet-based firms for the FCC or the U.S. Congress to pass network neutrality rules, which would prohibit broadband providers from blocking or slowing Web content from competitors. The FCC has had an open inquiry into net neutrality rules since April, and a push to pass rules in Congress has stalled.But the Vuze proposal is more focused than net neutrality, BianRosa said. Net neutrality often includes other issues in addition to content blocking, including requirements for broadband and wireless providers to allow all legal devices to connect to their networks. Vuze is asking the FCC to "dig deeper" than the net neutrality debate, he said.Public Knowledge, a group promoting consumer rights on the Internet, praised the Vuze filing. Vuze is a good example of the harm caused by content blocking, said Gigi Sohn, Public Knowledge's president."Comcast's actions frustrate Vuze's business and force the company to devote resources to play a 'cat and mouse' game with Comcast in order to maintain superior service for its customers," Sohn said in an e-mail. "We hope the FCC acts promptly before even more harm is done to more consumers and to more companies."Earlier this week, a Comcast customer in California filed a lawsuit against the company, saying the provider has caused several Web-based programs to suffer performance problems. In late October, Public Knowledge and other members of the Open Internet Coalition filed a complaint about the alleged Comcast blocking with the FCC.Vuze, based in Palo Alto, Calif., distributes video in partnership with movie studios and television networks including the BBC, Showtime, and PBS. It also distributes PC games, music videos, and audio files. Company officials say the Vuze client has been installed by customers more than 12 million times since the company, formerly called Azureus, rebranded itself in January.
 
Core, Qualys to enter Web apps scanning market 16 October 2007
The Web applications vulnerability testing market is about to get a little more crowded, as both Core Security and Qualys are entering the space with strategies to integrate the tools into their existing products and services.On Tuesday, Core announced that it has added Web applications penetration testing to the latest version of Impact, its automated network and internal security scanning package.Executives with Qualys, which markets hosted network vulnerability testing services, confirmed to InfoWorld that the company plans to begin offering its own Web applications scanning capabilities sometime during the first quarter of 2008.In both cases, company leaders cited strong synergies with their existing business models and recent industry consolidation as drivers for jumping into the Web applications security segment.Earlier this year, two of the largest players in the niche, Watchfire and SPI Dynamics, were acquired by IBM and HP, respectively.And while both Watchfire and SPI continue to market their Web applications scanning technologies as their new parents integrate the tools into their larger software development platforms, executives with Core and Qualys contend that they have an opportunity to cash in on pent-up demand.In Core Impact version 7.5, the company has added the ability for customers to search for security holes in Web applications and servers, and any databases sitting behind those systems, via SQL injection and remote file inclusion attack techniques.The company said the new functions will be tightly integrated with the product's traditional features, which are used to probe for weaknesses in customers' external network defenses or internal employee security practices and launch proof-of-concept attacks that demonstrate how network or user-based vulnerabilities might be exploited by real attackers.Extending Impact's ability to include Web applications testing is a natural fit for number of reasons, said Core Chief Executive Paul Paget."When we talk to customers today, they understand the process of crawling sites and fuzzing applications for weaknesses. But we can also give them the ability to auto-generate SQL injections and remote inclusion injections on the fly," said Paget. "The capability to create an exploit as we're carrying out penetration testing is a huge differentiator compared to what is out there. Once we compromise a server, we can plant our agent in the system and go deeper inside the network to illustrate just what real attackers would do."Qualys CEO Philippe Courtot said his company's move into Web applications testing is a similarly natural evolution, both in terms of blending the capabilities into the vendor's existing network vulnerability scanning tools and in delivering the tests via its hosted software-as-a-service (SaaS) delivery model.While IBM and HP are integrating their newly acquired vulnerability scanning technologies into their respective software platforms -- and thereby pushing developers to carry out additional testing before moving applications into production -- Courtot contends that the network security professionals already using Qualys' vulnerability testing services are actively looking for more tools to scan Web-based programs."We don't want to sell to developers -- that's more for HP and IBM. We think we can be complementary to what those companies are doing by providing a service to the security teams to audit their systems and ensure that attackers can't penetrate the network or the applications," Courtot said. "At the same time, we believe that customers are ready to embrace the idea of adding Web applications scanning as another service delivered under the hosted model for reasons of cost and simplicity."Core and Qualys may end up competing for customers with their new Web applications scanning tools, but the companies also maintain an existing partnership, and the executives said the two firms can continue to build off of each other's strengths to win deals.And while Courtot claims that Qualys will win business with its hosted delivery model -- whereby customers do not install software on their premises and instead pay for subscription-based online scanning services -- Paget contends that Core has a significant advantage in its ability to exercise real-world attack scenarios."I think both companies' eyes were opened to the opportunity here because we're selling to the same people, and they've been telling us that there was a need for us to offer this type of Web applications testing," said Paget. "But we feel we're taking the process to the next level; fuzzing a Web site is one thing, but being able to launch attacks is what truly pinpoints the real problems."Both executives maintain that enterprise security teams are under increasing pressure to automate Web applications testing processes, a situation which they said should create opportunities for their new services, especially when considering the strategic changes being made to the marketing of Watchfire's and SPI's technologies by their new owners.In a recent survey of roughly 500 IT security professionals, applications security software specialist Cenzic found that companies are increasingly concerned about data breaches carried out via remote attacks -- but that less than 20 percent of the organizations it interviewed had a full-time employee dedicated to the job of applications security testing.With over 50 percent of respondents saying that they were afraid of losing their jobs over a successful attack on their employers' systems, and only 10 percent of those surveyed confident in the security expertise of their companies' applications developers, executives with the company said that the market for new Web scanning tools is clearly robust.Despite the growth potential, Cenzic officials said it won't be easy for Core and Qualys to get up-to-speed quickly and build technologies that sufficiently address the complex dynamics of testing Web applications in today's environment."The new entrants are going to have limited capabilities in their products since their main focus has been networks and applications security is not an easy problem to solve," said Mandeep Khera, vice president of marketing for Cenzic. "If the customers want a complete solution to secure their Web applications, they'll have to go with a more experienced vendor."However, industry experts said that the new products and services being developed by Core and Qualys -- along with other offerings from providers including WhiteHat Security and Veracode -- could increase pressure on more traditional applications security players, including Cenzic."The big picture trend is that there is increasingly a budget for this type of testing, which should benefit all these individual players, but there's also reason to believe that delivery of these capabilities as a service, or under the umbrella of wider security testing, could catch on," said Eric Ogren, president of Ogren Group, a security market research firm."In general, all this market activity reflects the fact that Web applications scanning is becoming a feature of an overall IT testing program, so it may make more sense to some companies to view it as a feature of a larger package, or as a service, as with Core or Qualys and some of these other players," Ogren said. "In the long run it might be harder for stand-alone providers to make a market for their products, which could drive a shift to more delivery via broader services models."
 
Effective ways for Search engine promotion 26 September 2007
Search engine promotion is the marketing which is framed to put your websites in a position that favors the search engine spiders. This is the online marketing solution that effectively increases the ...
 
Web Promotion Services 04 September 2007
Website promotion is an online marketing solution for companies who wish to advertise online. Website promotion is an effective and cost-effective way of getting good search engine ranking or search e...
 
Partners praise Microsoft software-plus-services plan 13 July 2007
(InfoWorld) - Microsoft partners introduced to the company's software-plus-services strategy this week at its Worldwide Partner Conference (WPC) applauded the plan, though they noted a few challenges as the company makes the transition from selling business software to offering more hosted and Web-based services. Microsoft used its annual partner conference, held this year in Denver, as a coming-out party for the strategy, with CEO Steve Ballmer outlining the plan for the first time after other executives have been discussing it publicly for more than a year. It seemed fitting that the company's top executive was the one to deliver the message to thousands of partners who play a significant role in the company's success. "I had no idea how partner-focused Microsoft really is," said Linda Gillis, a first-time attendee of the WPC and director of marketing for Squirrel Systems, a British Columbia company that provides restaurant point-of-sale software and services. This dependency on partners is a double-edged sword for Microsoft as it moves to a more Web-centric services business model versus the software license model it has used successfully for years. The company not only has to revise its strategy, remaining several steps behind competitors such as Google that started business on the Web and have no traditional software business, but it also has to help its partners make changes, too. To do this, Microsoft has been slowly ramping up its hosted services portfolio with a series of both consumer and business services. Executives also said at the WPC that those services will eventually become a full-fledged development platform, being both an OS and platform for new applications on the Web in a similar way that Windows is on the desktop. Gillis said that moving toward offering more services for business in addition to software is the right direction for both Microsoft and its partners. "The addition of services helps to create long-term customer relationships and a recurring revenue stream," she said. Most partners agreed with this sentiment, but some noted challenges that both Microsoft and partners will face as they make the switch. Jay Blazensky, vice president of business development for RingCentral, a Microsoft partner that provides voice services, including click-to-call, agreed that creating repeatable revenue is a definite benefit of the plan. But he noted that a challenge for Microsoft and its partners is to convince sales people to "forgo the larger up-front commission in lieu of a recurring annuity." "Those that buy into the model and are successful -- and patient -- have the opportunity to be enormously successful," he said. Another partner, Joe McDermott of Solution Canvas, said Microsoft's strategy of transitioning services in a calculated and deliberate manner is the only way to make the change, which is necessary because it is what customers are demanding. Solution Canvas has built a service for small law firms using Microsoft's Office Live hosted service. "I think the strategy is the way forward strategically for both Microsoft and [partners] ... because in the end the marketplace will dictate and demand," he said. "End-users are who ultimately matter, and now that we have new Web technologies like AJAX and a rapid application development platform in Office Live, the barriers to powerful online applications are gone." At the same time, McDermott acknowledged that some Microsoft partners will have to learn new skills to take advantage of the new services approach, though the company's "considered pace" for moving to services will help them in that endeavor. While McDermott praised the technologies that enable more hosted services, one of them -- reliable access to broadband -- remains a hindrance not only to Microsoft's services plan but also its competitors' plans, RingCentral's Blazensky said. "It's an industry-wide challenge ... [but] it's maturing every day," he noted.
 
LeadStream Taps Online Search Industry Veterans for Senior VP of Sales and VP of Search Engine Marketing Positions to ... (Business Wire via Yahoo! Finance) 22 May 2007
VIENNA, Va.----Continuing to raise the bar on its aggressive growth strategy, LeadStream, a performance-based online lead generation solution for small-to-medium businesses , today announced the addition of two senior executives to its leadership team.
 
Search Engine Optimization SEO Marketing Guide Posted By : Search Engine Optimization India 10 May 2007
Search Marketing is a modern age Internet Marketing Science, which is the success story behind several online portals, and businesses. But the real question is What is the ultimate SEO marketing Solution?. This is the question which pops up in the mind of every single business owner who wants to generate a good quality traffic online.
 
May 20th Links: ASP.NET, ASP.NET AJAX, .NET, Visual Studio, Silverlight, WPF 21 May 2008
Apologies for the sparseness of my posting the last few weeks - work and life have been busy here lately.  Below is a new post in my link-listing series to help kick things up a little.  Also check out my ASP.NET Tips, Tricks and Tutorials page and Silverlight Tutorials page for links to popular articles I've done myself in the past. ASP.NET Bulk Inserting Data with the ListView Control: Matt Berseth continues his awesome posts with one that shows how to handle bulk-editing of data using the ASP.NET ListView control in .NET 3.5. Master-Detail with the GridView, DetailsView, and ModalPopup Controls: Another great post from Matt that describes how to cleanly handle a common data entry scenario. Creating Great Thumbnail Images in ASP.NET: A really nice blog post by a different Matt that details an approach that generates high quality (and small) thumbnail images. Warning the User when Caps-Lock is on: Scott Mitchell has a nice article that describes how to automatically detect and warn users in login pages when the caps-lock button is on. ASP.NET Perf Issue: Large numbers of application-restarts due to virus scanners: Tess Ferrandez has a great post that details a debug session to determine why an ASP.NET application was restarting frequently (causing performance slowdowns).  The issue was a virus scanner that was causing files to be constantly updated.  Make sure to check out the logging code you can add to your application to identify restart causes like this. ASP.NET AJAX ASP.NET AJAX Progress Bar Control: Matt Berseth has another great article that describes his new ASP.NET AJAX Progress Bar control. Faster Page Loading By Combining Multiple JavaScript files in Batch: Omar Al Zabir (founder of PageFlakes.com and author of the great Building a Web 2.0 Portal with ASP.NET 3.5 book) has a good article that describes the performance benefit of merging multiple JavaScript file downloads.  Note that .NET 3.5 SP1 will include a new script combiner feature that helps make doing this even easier. Create ASP.NET AJAX Server Controls using the ScriptControl base class: Chris Pietschmann has a nice article that talks about how to build new ASP.NET AJAX server controls by deriving from the built-in ScriptControl base class. Inline Edit Box and Postback Ritalin Beta: Dave Ward and Mike Davis have created a new CodePlex project for their popular Inline Edit Box and PostBack Ritalin ASP.NET AJAX controls. .NET 7 Ways to Simplify your code with LINQ: Igor Ostrovsky has a great blog post that talks about new code techniques you can use to improve your code using .NET 3.5 and the new language and LINQ features in it. Visual LINQ Query Builder for LINQ to SQL: Mitsu Furuta has created a cool Visual Studio designer that allows you to graphically construct LINQ to SQL queries.  Also make sure to download download the latest LINQPad utility - which is invaluable for learning LINQ and trying out LINQ queries. DataContracts without Attributes (POCO support): Aaron Skonnard has a good post that talks about a nice usability change with .NET 3.5 SP1 that allows you to serialize POCO (plain old objects) using the WCF serializers. Ukadc.Diagnostics: Josh Twist pointed me at a new CodePlex project he is working on that extends the System.Diagnostics features in .NET to include richer logging features (SQL trace support, email support, etc). Visual Studio 11 More VS Short Cuts you Should Know: A great post that talks about a bunch of useful shortcuts to print out and remember when using Visual Studio. Did you know you can show extension methods in the object browser?: Sara Ford continues her excellent "Did you know" series.  I confess I didn't know this one. Silverlight 50 New Silverlight 2 Beta 1 Screencasts: Mike Taulty and Mike Ormond have put together 50 nice tutorial screen-casts that cover Silverlight 2 - all in their "spare time".  Wow. AutoComplete for Silverlight TextBoxes: Nikhil Kothari has a nice blog post that demonstrates how he built an auto-complete behavior control for Silverlight.  Scrolling through Large Resultsets with Silverlight 2 and LINQ to SQL: The Swiss MSDN team has a nice blog post that demonstrates how to scroll through large resultsets using the Silverlight DataGrid and LINQ to SQL. IValueConverter: The Swiss Army Knife of Bindings: David Anson has a useful blog post and sample that demonstrates how to use the IValueConverter feature in Silverlight and WPF to support richer bindings against complex objects. Silverlight 2 Pie Chart: Peter McGrattan has posted a nice control and article that demonstrates how to use a new Silverlight charting control he has written. WPF WPF week on Channel9: Watch 6 great videos on Channel9.  Each one includes interviews and demos with members of the WPF team talking about some of the awesome work that went into WPF 3.5 SP1 (read my blog post here for a summary of some of it). WPF Testing and Application Quality Guide: Check out the 0.2 release of a free online book being developed by Microsoft that covers how to test WPF applications.  Definitely worth book-marking if you are doing WPF development. Moving Toward WPF Data Binding One Step at a Time: Josh Smith has a great article on CodeProject.com that explains WPF data binding and walksthrough how to use it. WPF 3.5 SP1 StringFormat: Lester has a nice post that describes how to use the new StringFormat feature in WPF 3.5 SP1.  This makes it much easier to handle formatting of databound values. Hope this helps, Scott
 
ASP.NET MVC Source Refresh Preview 17 April 2008
We recently opened up a new ASP.NET CodePlex Project that we will be using to provide previews (with buildable source code) for several upcoming ASP.NET features and releases. Last month we used it to publish the first drop of the ASP.NET MVC source code.  This first drop included the source for the ASP.NET MVC Preview 2 release that we shipped at MIX, along with Visual Studio project files to enable you to patch and build it yourself. A few hours ago we published a refresh of the ASP.NET MVC source code on the site.  This source refresh is not an official new ASP.NET MVC preview release - instead it is an interim drop that provides a look at the current state of the source tree.  We will ship the official "ASP.NET MVC Preview 3" release in a few weeks after we finish up some more work (more features and tweaks to existing ones, better VS tool integration, VS express edition support, documentation, etc).  If you are someone who wants a hassle-free installation of ASP.NET MVC to use that ships with documentation and full tool support you'll probably want to wait for this official preview release.  If you are someone who wants a chance to see an early "preview of the preview" and have the opportunity to start using and giving feedback on some of the features immediately, today's source refresh is probably interesting to look at. Improvements with this ASP.NET MVC Source Refresh This week's update (which you can download here) includes a number of improvements to ASP.NET MVC.  Some of these include: In addition to posting the source code for the ASP.NET MVC framework, we are also posting the source code for the unit tests that we use to test it.  These tests are implemented using MSTest and the open source Moq mocking framework.  A VS 2008 project file for the unit tests is included to make it easy to build and run them locally within your VS 2008 IDE. Significantly easier support for testing Controller classes.  You can now unit test common Controller scenarios without having to mock any objects (more details on how this works below). Several nice feature additions and usability improvements to the URL routing system (more details below). Creating a New ASP.NET MVC Project You can build your own copy of the ASP.NET MVC assemblies by downloading the MVC source and compiling it locally, or alternatively you can download a VS Template package to get a pre-built version of them along with a Visual Studio project template that you can use to quickly build a new ASP.NET MVC Project that uses the latest bits. After you install the ASP.NET MVC source refresh .VSI template, a new "ASP.NET MVC Application" project template will show up under the "My Templates" section of your "New Project" dialog: This new "My Templates" version of the MVC project template lives side-by-side with the previous ASP.NET MVC Preview 2 release (which you can see above it in the main project templates section of the dialog).  This allows you to safely create new projects and and use both the latest source version and the last official preview version on the same machine. When you create a new project using this updated ASP.NET MVC Project template you'll by default get a project that looks like below: This new project solution contains one Controller ("HomeController") under the "\Controllers" directory and two View templates ("About" and "Index") under the "\Views\Home" sub-directory.  Both view templates are based on a common master page for the site ("Site.master"), all of whose styles are defined within a "Site.css" file under the "\Content" directory. When you run the application the built-in web-server will automatically start up and you'll see the site's "Home" content: Clicking the "About us" tab will then display the "About" content: The "HomeController" class in the project is responsible for handling both of the URLs above and has two action methods like below: The default "Site.master" template looks for a "Title" value in the ViewData collection and uses it to render the <title> element of the HTML page.  The default "Index" view template looks for a "Message" value and uses it to render the home page's welcome message.  You can obviously go in and customize these files however you want. Controller Changes with this ASP.NET MVC Drop If you were reading the above code closely you might have noticed a few changes with how Controller classes are by default implemented using this new ASP.NET MVC source refresh drop.  With the ASP.NET MVC Preview 2 release the above HomeController action methods would have instead been implemented like below: The MVC feature team is experimenting with a few ideas in this week's drop and are trying out some new ideas: Action methods on Controllers now by default return an "ActionResult" object (instead of void).  This ActionResult object indicates the result from an action (a view to render, a URL to redirect to, another action/route to execute, etc).  The RenderView(), RedirectToAction(), and Redirect() helper methods on the Controller base class now return typed ActionResult objects (which you can further manipulate or return back from action methods). The RenderView() helper method can now be called without having to explicitly pass in the name of the view template to render.  When you omit the template name the RenderView() method will by default use the name of the action method as the name of the view template to render.  So calling "RenderView()" with no parameters inside the "About()" action method is now the same as explicitly writing "RenderView('About')". It is pretty easy to update existing Controller classes built with Preview 2 to use this new pattern (just change void to ActionResult and add a return statement in front of any RenderView or RedirectToAction helper method calls). Returning ActionResult Objects from Action Methods So why change Controller action methods to return ActionResult objects by default instead of returning void?  A number of other popular Web-MVC frameworks use the return object approach (including Django, Tapestry and others), and we found for ASP.NET MVC that it brought a few nice benefits: It enables much cleaner and easier unit testing support for Controllers.  You no longer have to mock out methods on the Response object or ViewEngine objects in order to unit test the response behavior of action methods.  Instead, you can simply assert conditions using the ActionResult object returned from calling the Action method within your unit test (see next section below). It can make Controller logic flow intentions a little clearer and more explicit in scenarios where there might be two different outcomes depending on some condition (for example: redirect if condition A is true, otherwise render a view template it is false).  This can make non-trivial controller action method code easier to read and follow. It enables some nice composition scenarios where a FilterActionAttribute can take the result of an action method and modify/transform it before executing it.  For example: a "Browse" action on a ProductCatalog controller might return an RenderActionResult that indicates it wants to render a "List" view of products.  A FilterActionAttribute declaratively set on the controller class could then have a chance to customize the specific "List" view template rendered to be either List-html.aspx or List-xml.aspx depending on the preferred MIME type of the client.  Multiple FilterActionAttributes can also optionally be chained together to flow the results from one to another. It provides a nice extensibility mechanism for people (including ourselves) to add additional features in the future.  New ActionResult types can be easily created by sub-classing the ActionResult base class and overriding the "ExecuteResult" method.  It would be easy to create a "RenderFile()" helper method, for example, that a developer writing an action could call to return a new "FileActionResult" object. It will enable some nice Asynchronous execution scenarios in the future.  Action methods will be able to return an AsyncActionResult object which indicates that they are waiting on a network operation and want to yield back the worker thread so that ASP.NET can use it to execute another request until the network call completes.  This will enable developers to avoid blocking threads on a server, and support very efficient and scalable code. One of the goals with this interim preview is to give people a chance to play around with this new approach and do real-world app-building and learning with it. We will also post an alternative Controller base class sample that you can use if you still prefer the previous "void" action return approach.  We deliberately didn't include this alternative Controller base class in this source refresh drop, though, because we want to encourage folks to give the "ActionResult" return approach a try and send us their app-building feedback on it. How To Unit Test Controller Action Methods I mentioned above that the new ActionResult approach can make unit testing controllers much easier (and avoid the need to use mocking for common scenarios).  Let's walk through an example of this in action. Consider the simple NumberController class below: This Controller class has an "IsEvenNumber" action method that takes a number as a URL argument.  The IsEvenNumber action method first checks whether the number is negative - in which case it redirects the user to an error page.  If it is a positive number it determines whether the number is even or odd, and renders a view template that displays an appropriate message: Writing unit tests for our "IsEvenNumber" action method is pretty easy thanks to the new ActionResult approach. Below is an example unit test that verifies that the correct Http redirect occurs when a negative number is supplied (for example: /Number/IsEvenNumber/-1): Notice above how we did not need to mock any objects to test our action method.  Instead we simply instantiated the NumberController class and called the action method directly (passing in a negative number) and assigned the return value to a local "result" variable.  I used the C# "as type" syntax above to cast the "result" variable as a strongly typed "HttpRedirectResult" type. What is nice about the C# "as" keyword is that it will assign the value as null instead of throwing an exception if the cast fails (for example: if the action method returned a RenderViewResult instead).  This means I can easily add an assertion check in my test to verify that the result is not null in order to verify that an Http redirect happened.  I can then add a second assertion check to verify that the correct redirect URL was specified. Testing the scenarios where non-zero numbers are passed in is also easy.  To do this we'll create two test methods - one testing even numbers and one testing odd numbers.  In both tests we'll assert that a RenderViewResult was returned, and then verify that the correct "Message" string was passed within the ViewData associated with the view: We can then right click on our NumberControllerTest class inside VS 2008 and choose the "Run Tests" menu item: This will execute our three unit tests in-memory (no web-server required) and report back on whether our NumberController.IsEvenNumber() action method is performing the right behavior: Note: with this week's source drop you still need to use mocking to test the TempData property on Controllers.  Our plan is to not require mocking to test this with the ASP.NET MVC Preview 3 drop in a few weeks. MapRoute Helper Method URL routing rules within ASP.NET MVC applications are typically declared within the "RegisterRoutes" method of the Global.asax class. With ASP.NET MVC Previews 1 and 2 routes were added to the routes collection by instantiating a Route object directly, wiring it up to a MvcRouteHandler class, and then by setting the appropriate properties on it to declare the route rules: The above code will continue to work going forward.  However, you can also now take advantage of the new "MapRoute" helper method which provides a much simpler syntax to-do the same thing.  Below is the convention-based URL route configured by default when you create a new ASP.NET MVC project (which replaces the code above): The MapRoute() helper method is overloaded and takes two, three or four parameters (route name, URL syntax, URL parameter default, and URL parameter regular expression constraints).  You can call MapRoute() as many times as you want to register multiple named routes in the system.  For example, in addition to the default convention rule, we could add a "Products-Browse" named routing rule like below: We can then refer to this "Products-Browse" rule explicitly within our Controllers and Views when we want to generate a URL to it.  For example, we could use the Html.RouteLink view helper to indicate that we want to link to our "Products-Browse" route and pass it a "Food" category parameter using code in our view template like below: This view helper would then access the routing system and output an appropriate HTML hyperlink URL like below (note: how it did automatic parameter substitution of the category parameter into the URL using the route rule): Note: with this week's source drop you need to pass-in the controller and action parameters (in addition to the Category param) to the Html.RouteLink() helper to resolve the correct route URL to generate.  The ASP.NET MVC Preview 3 drop in a few weeks will not require this, and allow you to use the Html.RouteLink call exactly as I've written it above to resolve the route. Other URL Route Mapping Features This week's MVC source drop also supports a bunch of new URL route mapping features.  You can now include "-", ".", ";" or any other characters you want as part of your route rules. For example, using a "-" separator you can now parse the language and locale values from your URLs separately using a rule like below: This would pass appropriate "language", "locale", and "category" parameters to the ProductsController.Browse action method when invoked: URL Route Rule Example URL Parameters Passed to Action method {language}-{locale}/products/browse/{category} /en-us/products/browse/food language=en, locale=us, category=food   /en-uk/products/browse/food language=en, locale=uk, category=food Or you can use the "." file extension type at the end of a URL to determine whether to render back the result in either a XML or HTML format: This would pass both "category" and a "format" parameters to the ProductsController.Browse action method when invoked: URL Route Rule Example URL Parameters Passed to Action method products/browse/{category}.{format} /products/browse/food.xml category=food, format=xml   /products/browse/food.html category=food, format=html ASP.NET MVC Preview 2 introduced wildcard route rules.  For example, you can indicate in a rule to pass all remaining URI content on as a named parameter to an action method: This would pass a "contentUrl" parameter to the WikiController.DisplayPage action method when invoked: URL Route Rule Example URL Parameters Passed to Action method Wiki/Pages/{*contentUrl} /Wiki/Pages/People/Scott contentUrl="People/Scott"   /Wiki/Pages/Countries/UK contentUrl="Countries/UK" These wildcard routes continue to work fine with this week's preview - and are very useful to look at if you are building a blogging, wiki, cms or other content based system. Note that in addition to using the new routing system for ASP.NET MVC scenarios, we are also now using the same routing system within ASP.NET Dynamic Data (which uses ASP.NET Web Forms). Summary Hopefully the above post provides a quick update on some of the new features and changes exposed with this week's ASP.NET MVC source update drop.  You can download it here if you want to start using it immediately.  Alternatively, you can wait a few weeks for the official ASP.NET MVC Preview 3 drop - which will have some more features (and incorporate feedback people provide on this week's drop), deliver a more seamless installer, provide nice VS integration, and deliver up to date documentation. For any questions/issues with this week's drop of ASP.NET MVC, make sure to also check out the ASP.NET MVC forum on www.asp.net. Hope this helps, Scott
 

Related Pages
a it solution provider 01 December 2006
an internet solution provider 01 December 2006
internet marketing with seo 01 December 2006
seo marketing options 01 December 2006
a online search engine 01 December 2006
search engine marketing firm 01 December 2006
business marketing options 01 December 2006
brand marketing options 01 December 2006
   
Sponsors

http://www.employersjobs.com
Who supply:
direct marketing employers

http://www.employersjobs.com
Who supply:
employers jobs online advertising

 
sitemap