Sunday, August 23, 2009

Why I am excited about Azure Platform's .Net Service Bus?

Basically, the following statement:

"...Full-duplex, connection-oriented peer-to-peer sessions with network-boundary traversal create direct end-to-end connectivity through NAT"

That's awesome... because any developer that has ever tried to create a real-time, Peer-to-Peer application, he/she knows what hell it is to penetrate firewalls specially Symmetric NATs. Click here to learn about NATs

The Service Bus enables secure, loosely-coupled connectivity between services and applications to navigate firewalls or network boundaries, using a variety of communication patterns. The Access Control service provides an enterprise-class mechanism for federated authorization across organizations and protocols.

In the same way that Microsoft® .NET Framework provides higher-level libraries to make developers more productive, .NET Services help developers focus on their application logic rather than deploying and managing their own cloud-based infrastructure."

Azure's .Net Service Bus enables developers to build applications for the cloud and offers a scalable hosted infrastructure for deploying and managing these applications and their data stores combined with a workflow engine and a security infrastructure. The Azure Service platform is the new OS for internet scaled applications.

Lower Barriers to Building Composite Applications

Using the Service Bus, an application or service can expose and access endpoints that would otherwise be hard or impossible to reach. For example, the endpoints may be located behind network address translation (NAT) boundaries or bound to frequently changing, dynamically assigned IP addresses.
  • Exposes Service Endpoints Easily

    -- Users can access a global hierarchical namespace that is DNS- and transport- independent

    -- Services can be located through a stable, Internet-accessible URL, irrespective of location.

  • Offers Multiple Connection Options

    -- One-way messaging between sender and listener supports unicast and multicast datagram distribution

    -- Full-duplex connection-oriented sessions between sender and listener support bi-directional communication

    --  Full-duplex, connection-oriented peer-to-peer sessions with network-boundary traversal create direct end-to-end connectivity through NAT

  • Supports Publish and Subscribe for Multicasting

    The simple publish/subscribe model lets multiple publishers and multiple subscribers simultaneously use the service’s topic management and event distribution system.

Learn more:

WCF Hosting

Windows Communication Foundation (WCF) Services can be hosted with Internet Information Services (IIS); with the new Windows Activation Service (WAS) installed with IIS 7.0; or with any managed application process including console, Windows Forms, Windows Presentation Foundation (WPF), or managed Windows service applications.

Selecting the right hosting environment for your services is a choice driven largely by deployment requirements related to transport protocol and operating platform.

A summary of hosting options and supported features:

Feature Self-Hosting IIS Hosting WAS Hosting
Executable Process/ App Domain Yes Yes Yes
Configuration App.config Web.config Web.config
Activation Manual at startup Message-based Message-based
Idle-Time Management No Yes Yes
Health Monitoring No Yes Yes
Process Recycling No Yes Yes
Management Tools No Yes Yes

A summary of hosting options based on operating platform and communication protocol:

Operating Platform Protocol Hosting Options
Windows XP/SP2 HTTP IIS 5.1 or self-host
Named Pipes, TCP, MSMQ Self-host
Windows Vista HTTP, Named Pipes, TCP, MSMQ WAS or self-host
Windows Server 2003 HTTP IIS 6.0
Named Pipes, TCP, MSMQ Self-host
Windows Longhorn Server HTTP, Named Pipes, TCP, MSMQ IIS 7.0/WAS or self-host

Memories of our band: Tatva - The Element

I was going through some Audio CDs while cleaning my office and stumbled upon a CD from our Band - Tatva - The Element.

Tatva's music can be described as: "rustic Indian folk transposed into western, popular rock rythms..."

Check out our music and please let us know what you think about it.

Facebook and Flex: Rock On!!!

I've been incredibly motivated and enthusiastic about Flex since I first started working with it back in early 2007. I have created Flex based interfaces for desktop apps (C++ container) and medium and large web-based apps. I have always loved Flex for the ease of use and the power it gives to developers.

Flex is, hands down, the best RIA technology available today. Flex is fast becoming the primary technology for building Rich Internet Applications.

Facebook, on the other hand, is the best, most powerful and the fastest growing social networking platform. The real power of facebook is not because of "social" (there's LinkedIn and other websites for that!)... the power is in the "platform". If you don't agree with me, just look at what Apple did with its Application platform! It's making much more money after it opened its platform to developers. Facebook would be nothing but a better and clearner looking LinkedIn, if it wasn't for the applicaiton platform.

Most of my friends use Facebook for the applications. They probably spend 10-20% of their time managing their profile and friends (social graph) and the rest on apps like iLike, Zombies, Mafia War etc etc. Good or bad, these apps have an audience - A global, over 200 million large audience. So, if you have an apps, that costs, say $1, and appeals to only 1% of the audience - you have the potential to make $2 million!!!! THAT'S THE REAL POWER!!!!!

Facebook's Ad Platform is not as good as Google's AdSense, but that is another area that can generate a lot of money for not just Facebook, but the application developers. Under Facebook's COO, Sheryl Sandberg's guidance that will likely change. Check out this Forbes article.

So, if you combine the best RIA technology (FLEX) with the best Social, Application platform (FACEBOOK), you can make a killing!!! You can deliver rich, social experiences on the web.

This is what Adobe Developer Connection website has to say:

The Adobe Flash Platform and Facebook Platform provide the ideal solution for building rich, social experiences on the web. Flash is available on more than 98% of Internet-connected PCs, so people can immediately access the applications, content, and video that enable social interactions. The Facebook Platform is used by millions of people everyday to connect and share with the people in their lives. Together, both platforms allow you to:

  • Share: Create rich interactions for users to share with friends.
  • Have fun: Make games social; let users compete against their friends.
  • Connect: Let users connect to your RIAs with Facebook Connect.
  • Solve problems: Build RIAs that harness the power of community.
  • Reach people: Reach millions of Facebook users through social distribution.

The new ActionScript 3.0 Client Library for Facebook Platform API, fully supported by Facebook and Adobe, makes it easy to build applications that combine the strengths of the Flash Platform and Facebook Platform.

I am back...

I am back to my personal blog after a long break. While I was away, I got married, switched jobs and started some new projects. I'm excited to be back to my personal blog.