2 advantages of applying business intelligence 2.0 using microsoft silverlight

Download 2 advantages of applying business intelligence 2.0 using microsoft silverlight

Post on 04-Aug-2015




1 download

Embed Size (px)


<p> 1. C H A P T E R 2 27 Advantages of Applying Business Intelligence 2.0 Using Microsoft Silverlight This chapter will focus on Microsoft Silverlight technology, which is an RIA (rich interactive application) technology based on the .NET platform. In this chapter, you will learn the fundamental advantages this new technology can bring to BI software. We will start by looking at the challenges companies face in delivering their content to an ever- increasing audience across multiple platforms. Next, we will explore Silverlight technology as a potential answer to surfacing rich content while keeping development costs down. In addition, we will compare Silverlight to other next-generation RIA technologies and see how Silverlight stacks up. This is followed by the most important section in which we will look at the Silverlight integration with the Microsoft product horizontals and verticals. After reading this chapter, you will see why Silverlight is a great integration technology to use with your next BI 2.0 project. Hopefully this chapter will get you excited about this new and upcoming technology. The following table outlines the specific goals that different types of readers will achieve by reading this chapter. Audience Goals Silverlight developers Take your Silverlight knowledge to the next level by seeing where Silverlight concepts can be applied in business applications. Learn why Silverlight RIA technology fits into the BI distributed architecture. Reinforce some of the BI concepts introduced in the previous chapter with details of how this applies to Silverlight and the Microsoft BI stack. 2. CHAPTER 2 ADVANTAGES OF APPLYING BUSINESS INTELLIGENCE 2.0 USING MICROSOFT SILVERLIGHT 28 Audience Goals Business intelligence professionals Get an introduction to Microsoft Silverlight technology. Understand how Silverlight can enhance existing and new development projects. Understand the Microsoft BI stack and how it can be enhanced with Silverlight. Strategic decision makers Understand Silverlight as a great business RIA technology. Receive guidance on how Silverlight can help integrate with existing Microsoft solutions and services. Understand if integrating Silverlight will net your products a competitive advantage. Industry Trends The way products and services are being offered to users is changing dramatically. Companies want to maximize their product offerings by targeting an ever-increasing audience. Conversely, users are challenging companies to offer engaging experiences. Over the last decade, you have probably seen your favorite web sites change dramatically and provide much more engaging designs. Web sites are now providing rich media content and interactive visuals that are being integrated into the companies business offerings. And these engaging experiences arent just limited to the Web. Next-generation phones like the iPhone are providing further ways to deliver applications while offering a great user experience. Content providers are looking for innovative technology solutions that help them achieve the largest target audience possible while keeping costs at a minimum. Delivery to Multiple Platforms Companies are currently challenged with bringing these next-generation user experiences in such a way that gets the consumers engaged with their offerings and coming back frequently. This challenge is further amplified in that todays audience expects these services to work on their platform of choice, which includes mobile, web, and desktop. Furthermore, upcoming next-generation interaction platforms such as multitouch and full-body recognition complicate the selection of the delivery platform. Using classic technology, an organization can surface its offerings using multiple platforms. The downside of this approach is that this usually involves using different programming frameworks for each individual platform. For example, a technology such as HTML works great on the Web and can even can be tailored to look presentable for mobile devices. However, HTML is probably not the best technology to use for a desktop UI. Currently, an organization will solve this problem by creating a desktop application using a framework that is optimized to be used on a workstation (i.e., WPF or WINforms). 3. CHAPTER 2 ADVANTAGES OF APPLYING BUSINESS INTELLIGENCE 2.0 USING MICROSOFT SILVERLIGHT 29 This increases the cost of delivering a common functionality across the different platforms, as it requires experienced developers who are well versed in creating solutions using different skill sets. Note The desktop, web, and mobile platforms are the big three user platforms right now. These three cover the majority of the current UI platforms out there. However, be aware there are many other platforms developers can target and many more to come in the near future. For example, Microsoft Surface is a new platform that users can interact with using multiple hand gestures. It doesnt really fit into any of the three, and it provides a unique experience of its own. In addition, there are many older platforms that still have to be accounted for like the mainframe/console platform. The desktop, web, and mobile platforms are inherently different. Desktop UIs tend to be more interactive and performant. Web UIs are usually navigated in a standard way and they provide a rich multimedia experience. Mobile devices are usually smaller and contain simpler visualizations. Each platform is consumed differently and therefore must be designed differently. The Desktop Platform The desktop platform is the oldest platform of the current big three platforms. The desktop platform can be defined as a modern GUI interface displayed locally on the users workstation. Users of this platform can expect to receive a rich experience that consists of highly interactive features and quick response times. The desktop platform suffers from a couple of main drawbacks; one being that it is mainly developed for the operating system (OS), not the platform itself. For example, developing for the Windows desktop vs. a Mac desktop is completely different. You could bridge the gap by using a cross- OS language such as Java or C++, but differences would still be present. The challenge of developing on an OS is further complicated by the fact that the OSs themselves have different versions. For example, I would expect any major desktop application to support Windows XP, Windows Vista, and Windows 7. Desktop applications also require some kind of deployment mechanism. This translates to an installation program persisting the configuration and program files to local storage. Because of the different workstation configurations and app requirements, this usually turns into a big headache. The Web Platform The web platform is relatively young and still evolving. Arguably, the Web has been around since the late 80s; however, it has not come to be popularized until the late 90s. To access this platform, users use a thin client (web browser). The users browser is usually an isolated sandbox that cedes the major processing to the remote servers it is accessing. The browser is mainly used for rendering the content that is being presented. This is done using the HTML markup language. In the mid 2000s, the next generation of web sites became popular. They put a little more of the processing on the browser, and this allowed for more dynamic content. This was done using lightweight frameworks based on JavaScript that could execute tasks and manipulate the user experience without having the server play any role. 4. CHAPTER 2 ADVANTAGES OF APPLYING BUSINESS INTELLIGENCE 2.0 USING MICROSOFT SILVERLIGHT 30 The web platform was an improvement in some respects over the desktop, as it could reach a much larger audience. Users with different OSs were presented with the exact same experience using their browsers. However, reaching this broader audience came at the cost of the performance and interactivity of the web interfaces. Web 2.0 designs and Ajax patterns improve the Web and provide a much more desktop-like experience; however, they are not 100 percent there. For example, you cannot use just HTML to present a video. The web platform also caused some issues for the developers. Web browsers could implement the HTML, CSS, and JavaScript engines in a set of different ways. Even though the body of Internet standards (WSC) put out governance on how the web platform technology should be implemented, each browser did things its own way. This caused major pain for development shops who had to support not only different browsers but also the different versions of each browser client. The Mobile Platform The mobile platform has been around longer than the Web; however, it is just now maturing as a valid business platform. Mobile has the largest target audience of all the big three platforms and is actually growing much faster than the other two. Mobile UIs are usually consumed via a cell phone or a music device such as an iPod. The user experience on a mobile device is obviously much simpler, as the form factor is much smaller. Until several years ago, UIs on the mobile platform resembled the older web pages of the Internet. However, this is changing rapidly as mobile devices are getting features like video, gesture support, accelerometers, and great graphics. Note Mobile devices such as the iPhone that provide up to 32GB of storage space are changing the need for mobile devices to be constantly connected to a data service source. There are literally hundreds of different cell phone models out there, provided by a wide variety of carriers. It may not be obvious to the phone user, and every phone runs some kind of OS (e.g., iPhone OS, Symbian, Android, or Windows Mobile). Currently, there is no clear winner in the mobile OS domain. A mobile OS that has 10 percent of the market may have hundreds of millions of users. The obvious challenge for organizations is being able to target as many OSs as possible. Currently, cell phone carriers and even mobile OSs have a lot of power as to what they allow on the mobile platform. This is probably the biggest drawback of the mobile platform. For example, a phone carrier may not allow certain applications that compete with their own service offerings (e.g., Skype or Google Voice). Even the widely successful Apple iPhone OS does not include Adobe Flash. Developers have to choose which mobile carrier and which mobile OS they want to target. There are so many mobile device users out there that getting even a small piece of the market can mean millions of potential users. The good news is that as the mobile industry matures, mobile carriers and OSs will start to consolidate into common platforms. 5. CHAPTER 2 ADVANTAGES OF APPLYING BUSINESS INTELLIGENCE 2.0 USING MICROSOFT SILVERLIGHT 31 Value in Services Users dont want to have to install large applications to get their content. Businesses started seeing that they could provide their content via a service and have it consumed with generic programs that a client may have already installed. For example, during the Internet boom, there were different video players out there that a user had to install in order to play video. There were also different formats that videos were displayed in that required specific players. For example, Real Player was a popular media player in the early days of the Internet that played media files in the Real media format. Today, many of these media formats are standardized, and both Flash and Silverlight can play a variety of them. Companies started providing their content via services that could be monetized by licensing. Clients would consume this using software that had a high probability of already being installed on the users workstation. This allowed content providers to focus on building value in their services rather than spending resources on creating applications to consume them. In order for this concept to be successful, the standard software for consuming these services needs to work with a variety of standardized data formats. Virtualizing Resources on the Cloud In order to deliver scalable enterprise products and services, companies need to invest in their computing hardware infrastructure. If these services run poorly or the servers go down often, users will perceive the offerings as inferior and often do business elsewhere. Therefore, companies are challenged with providing content with the highest uptime while trying to mitigate cost. Virtualization has been a recent trend among enterprises. Companies dont want to spend money on servers that are only utilized a small fraction of the time. Some businesses have started consolidating their server hardware using virtualization software. This has allowed IT data centers to dynamically allocate processing and memory resources as needed. For example, Figure 2-1 shows a chart of an e-mail servers CPU utilization. You can see that during the early morning and evening hours, the processor is not used heavily at all. If the server is a physical machine, then it is underutilized during the off-peak hours. Virtualizing physical hardware into servers that could share resources from a pool of hardware was an improvement. However, organizations still needed to make the investment in virtualization, which was not cheap. Figure 2-1. CPU utilization on a sample e-mail server during a 24-hour period 6. CHAPTER 2 ADVANTAGES OF APPLYING BUSINESS INTELLIGENCE 2.0 USING MICROSOFT SILVERLIGHT 32 Some companies simply did not have the money or time to invest in moving their content from hardware to virtualized solutions. Enterprise software vendors saw this as an opportunity and started lending their hardware resources to other organizations. This allowed companies to provide their content from third-party data centers. This content then was exposed as services on the Internet. The process of leveraging hardware resources of another party and then providing the services on the Internet is commonly referred to as cloud computing. Cloud computing is experiencing tremendous growth, and many companies love the idea of only paying for what you use. This allows them to eliminate a great deal of IT infrastructure costs. The software and services still need to be designed and deployed in order to run on the cloud however. While some existing software content can be implemented to leverage cloud computing, for a majority of the content, some changes will have to be made. Companies are challenged with finding technology to invest in that will scale not only on their internal hardware, but well beyond using the cloud. Note Understanding concepts like virtualization and cloud computing is very important for both BI and Silverlight. In the preceding sections, I covered these concepts very generally in the context of challenges organizations face. If you dont feel familiar enough with these concepts, you can do a simple web search o...</p>