All postings/content on this blog are provided "AS IS" with no warranties, and confer no rights. All entries in this blog are my opinion and don't necessarily reflect the opinion of my employer.
I had the opportunity to attend the WebbyConnect Summit on October 3-5 at Laguna Beach. It was a series of non-technical panel discussions on the various growing trends on the Web, and their social and cultural impacts, especially with respect to the media and internet industries. Topics discussed include:
It was a very insightful event, as the various very notable speakers presented their thoughts on how media and social trends are impacting the evolution of the Web, and vice versa.
Some highlights:
My thoughts:
It was very refreshing to hear from the thought leaders in the social Web and media and advertising agency spaces. Particularly many campaigns that worked wildly successfully, by leveraging many social elements of Web 2.0. For example, “Trevor” as world's intern where anyone can schedule Trevor's time and ask him to do things (like sending a heavy metal birthday gram), effectively used a combination of user-generated content, viral advertising, live web feeds, instant messaging, video streaming, community establishment in Facebook and Myspace, etc., that drew an extremely popular response on the Web. The campaigns discussed were just about the most effective use of Web 2.0 platforms I've seen.
To me it boils down to brand management, and the emergence of using Web-oriented techniques to drive a new breed of brand campaigns on the Web. However, a few principles remain the same (lessons for a technologist such as myself, but obvious to people working in these areas):
On the general trend of convergence:
This was my biggest takeaway from the summit, as it was clear that the pendulum has swung back away from the extremes, in many different areas. As noted earlier, online and off-line, traditional media and online media, collective intelligence and expert editorial, etc. Basically people are no longer claiming the absolute dominance of one extreme over the other, but are seeing trends that hybrid and combinatorial models work much more effectively. In the technology world, the focus is now shifting towards bringing information and access to the users in a seamless and consistent manner, but with targeted user experiences for different platforms.
Coming back closer to home, from a technology architecture perspective, I found all these trends of convergence are very analogous to the core of Microsoft's "Software Plus Services" (S+S) strategy (and moniker). I akin S+S to Microsoft's vision of the future, in response to all the recent innovation and mindshare on SOA, Web 2.0, SaaS, etc. I will leave the details of my thoughts on S+S to another post, but just briefly here - it's an architecture of "AND", where both local software and cloud-based services work together to provide the most targeted user experiences. Vinton Cerf noted a similar thought in his keynote, that the internet is still largely a transport that is agnostic of the context and data that traverses it. We still need software to interpret and visualize the information in meaningful ways. And the fact is, the dominant players in the online space, such as Google, Yahoo, eBay, Saleforce.com, etc., are all moving towards this middle by providing client-side software. It seems their current approach can be categorized as "Services Plus Software" where cloud-based services are augmented by client-side software, compared to Microsoft's approach of "Software Plus Services" where client-side software is augmented by "Web as features". It is arguable which approach (or direction) is more relevant, but I think in general the macro-trend that is occurring is that of convergence between software and services.
This week I had the opportunity to speak at the IT Architect Regional Conference in San Diego, on the subject of architecting enterprise SOA security. It is an interesting event, with speakers from Microsoft, IBM, Oracle, TIBCO, Fair Issac, and many other organizations. We even gave away a brand new XBox 360 and a Zune!
In a nutshell, my presentation was intended to point out the security aspects of planning an enterprise SOA, and a few topics that don't seem to be covered very often, and with an emphasis towards the future and navigating the organizational and cultural issues.
A brief overview -
Basically, some of the fundamental changes in SOA, such as:
Then of course, these changes also bring along many questions. Particularly many that represent conflicting approaches and each organization may come up with different solutions based on varying trade-offs.
For example,
In my opinion, trust-based architectures are much more flexible and scalable, and implementable by today's technology standards. And we couldn't completely eliminate trust in an impersonation/delegation model anyway. For example, a connected node/system has to "trust" service wrappers, agents, and/or local system components to verify user credentials against a centralized repository (such as Active Directory, LDAP, etc.) anyway.
On the other hand, having end-to-end security contexts is indeed conceptually more secure, as it can help better address the man-in-the-middle attacks, but in an SOA with a number of intermediaries between consumers and producers, there is still not an effective solution in managing public keys to support end-to-end message-level data encryption.
It's always interesting to try to take a peek at what may be possible in the future.
Finally, some overall talking points. One important and interesting point that was kind of new to many people is that security in SOA has to be planned and designed just like another process layer. If we overlook security and not plan it carefully, we may end up creating tightly coupled elements in the overall architecture, and impacting the agility we intended to create.
The most visible example of this is trying to implement message-level encryption for the sake of data integrity (message digests) and confidentiality. In order to establish an end-to-end security context (so that intermediaries, including the ESB, should not be able to decrypt sensitive data on transit to the destination), both the intended consumer and producer have to know exactly how to encrypt and decrypt data. And that depends on a previous exchange of public keys, which in this case had to occur directly between the consumer and producer endpoints. That in a way is tight coupling, as the consumer and producer endpoints have to know about each other, and are required to establish a one-to-one, peer-to-peer relationship in terms of public keys exchange used for encryption/decryption. To alleviate the situation, a centralized public key infrastructure can be implemented in an enterprise so that the management and decisions on public key usage can be externalized from endpoints and centralized. However, enterprise solutions in this area are still evolving, and we haven't yet seen effective solutions for doing similar things beyond the enterprise and on the Web.
Lastly, the most important point is that, just like SOA governance, security is also a huge factor of the organization and corporate culture. We have to take a process-first approach to the problem (instead of technology-first), then weave in the technology delivery part of it.
For those interested, the entire slide deck I used can be downloaded from my Windows Live SkyDrive. If you don't have Office 2007, you can download the free PowerPoint Viewer 2007.
The next set of SoCal Architect Councils is a “plain old technology briefing” covering the upcoming versions of Visual Studio, Windows Server, and SQL Server.
This event will be held in San Diego on November 28th and Irvine on November 29th.
Please register for the location that works best for you. The event starts at 11:45 AM and includes lunch.
Wednesday, November 28: La Jolla - Lodge at Torrey Pines Register here: http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032356126&Culture=en-US Thursday, November 29: Irvine - Microsoft Technology Center Register here: http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032356127&Culture=en-US
Plain Old Technology Briefing
In early 2008, Microsoft will launch Visual Studio 2008, Windows Server 2008, and SQL Server 2008. The focus of this Architect Council is to provide a preview of these products and to answer your questions.
Agenda
11:45 AM Arrival 12:00 PM Lunch and announcements 01:00 PM Visual Studio 2008 and .NET 3.5, Mickey Williams, Neudesic 02:30 PM SQL Server 2008, Steve Muise, Neudesic 04:00 PM Windows Server 2008, Mark McReynolds, Microsoft 05:15 PM Raffle and close
Visual Studio 2008, http://msdn2.microsoft.com/en-us/vstudio/aa700830.aspx Windows Server 2008, http://www.microsoft.com/windowsserver2008/default.mspx SQL Server 2008, http://www.microsoft.com/sql/2008/default.mspx
Locations The Lodge at Torrey Pines 11480 North Torrey Pines Road, La Jolla, CA 92037 Phone: 858.453.4420 Website: http://www.lodgetorreypines.com/ Microsoft Technology Center Three Park Plaza, Suite 1600 Irvine, CA 92614 Phone: 949.263.3000 Website: http://www.microsoft.com/about/companyinformation/usaoffices/southernca/orangecounty.mspx
Break.com, a popular online video destination (August 2007 stats were approximately 500M video clips, 17M unique users/month, and 1.3M unique users/day who consume 15M videos/day), best characterized as a channel catered to guys aged 18-35, worked with BLITZ agency to launch a "spatial search" application built using Silverlight 1.0. It is an interesting visualization of search results and related hits in a "non-linear" presentation.
The spatial search application provides a next-generation user experience for search, adding to the traditional HTML list-based search results display. The idea came from an observation that it is difficult to effectively distinguish direct hits and related hits in the traditional one-dimensional search results list type of presentation. There are many different ways of visualizing these data relationships today, such as popular ones to draw out three-dimensional representations of connections, (like ThinkMap's VisualThesaurus). The project team here decided to use a remarkably different approach which elegantly enhances the video preview experience by not presenting the user with too many choices, while at the same time simplifying the technical requirements on loading the amount of results to be displayed. The resulting application is intuitive and easy to use, and adds to the "fun" factor.
The project team used Expression Blend to create the user interface and the interactive design elements (animations, timelines, transitions, etc.), and Expression Encoder to handle the large-volume video transcoding jobs. The technical implementation was actually remarkably simple - a combination of XAML generated by Blend, JavaScript code, some HTML integration, and some static images. The deployment did not require Break to make any changes in the server infrastructure, other than publishing the applications and videos as new content released on the website.
In addition to the spatial search application, the project team also built a full-featured video player using Silverlight.
It allows the user to resize the player dynamically (dragging the lower right corner), find other content while watching the same video clip, as well as many other neat features. Here the project team took a different direction on user experience design - more functional than "next-gen".
The project team released a video describing the application sand their development process (hosted in the new Silverlight player). Also check out BLITZ at www.blitzagency.com and their blogs at http://labs.blitzagency.com
A few more interesting live Silverlight applications:
ANNOUNCEMENT - 2007.10.03:
This is truly a step in the right direction for Microsoft, and an especially good thing for the .NET developers community. When I work on the Java side I enjoy having access to all the source codes to the various editions (standard, enterprise, mobile, etc.). It provides us developers better insight into the behaviors of our code when needed, and in many cases, the source code provide really good code samples on how certain tasks can be accomplished.
Now this is Shared Source (not open-source), meaning we have access to the source code for reference purposes (and thus the "Reference License") but we cannot modify and rebuild the code. Of course, we still have the opportunity to contribute suggested changes to the source code (via the product feedback process), but for the majority of developers building solutions on top of the .NET Framework, being able to step through the source code and debug applications with full transparency can significantly improve productivity.
More information: