Chapter 3
Silverlight: An Enterprise-Ready Technology Platform

In Chapter 2, we developed a desktop application-like Rich Internet Application (RIA) called My Album using Silverlight. Now the key question is, can it be an enterprise application? I believe we are pretty close.

Chapter 1 provided a good exploration of the Web 2.0 concept. This chapter will start with outlining the concepts behind another buzz word, "Enterprise 2.0." The text then redefines the question, "What is an enterprise-ready technology platform?" in terms of Enterprise 2.0. Later, you'll learn why Silverlight is an enterprise-ready technology that enables Enterprise 2.0 and Web 2.0 applications. At the end of the chapter, I'll discuss why we are pretty close to transforming the My Album application developed in Chapter 2 into an enterprise application.

What is an Enterprise-Ready Technology Platform?

The impact of globalization, advancements in technology platforms and components, and increased customer expectations led to Web 2.0 and challenged enterprises to think innovatively. This change ultimately altered the implementation of enterprise systems in comparison to the traditional monolithic enterprise information systems. The changes in implementation models also raised the need for radical structural and behavioral changes within organizations. As a result, the Web 2.0 concept also drove the Enterprise 2.0 concept.

Defining Enterprise 2.0

Figure 3-1 shows the "big picture" of the Enterprise 2.0 concept.

Image

Figure 3.1    Enterprise 2.0: the big picture1

The term "Enterprise 2.0" is originally defined as the following by Professor Andrew McAfee of the Harvard Business School:2

Enterprise 2.0 is the use of emergent social software platforms within companies, or between companies and their partners or customers.emergent social software platforms

Social software enables people to rendezvous, connect, or collaborate through computer-mediated communication and to form online communities.

Platforms are digital environments in which contributions and interactions are globally visible and persistent over time.

Emergent means that the software is freeform, and that it contains mechanisms to let the patterns and structure inherent in people's interactions become visible over time.

Freeform means that the software is most or all of the following:

  • Optional

  • Free of up-front workflow

  • Egalitarian, or indifferent to formal organizational identities

  • Accepting of many types of data

Professor McAfee also defined the terminology SLATES (search, links, authoring, tags, extensions, and signals), demonstrating key elements of Enterprise 2.0 (shown in Figure 3-2).

Image

Figure 3.2    Key elements of Enterprise 2.03

Further, Dion Hinchcliffe of ZDNet refined the Enterprise 2.0 elements and introduced the term FLATNESSES (Freedom, Links, Authorship, Tagging, Network-oriented, Extensions, Search, Social, Emergence, Signals).Figure 3-3 presents the refined elements of Enterprise 2.0.

Image

Figure 3.3    Refined elements of Enterprise 2.04

Table 3-1 summarizes the key differences between Enterprise 1.0 and Enterprise 2.0.

Table 3.1    Enterprise 1.0 vs. Enterprise 2.05

Enterprise 1.0 Enterprise 2.0
Hierarchy Flat organization
Friction Ease of organization flow
Bureaucracy Agility
Inflexibility Flexibility
IT-driven technology/Lack of user control User-driven technology
Top down Bottom up
Centralized Distributed
Teams are in one building/one time zone Teams are global
Silos and boundaries Fuzzy boundaries, open borders
Need to know Transparency
Information systems are structured and dictated Information systems are emergent
Taxonomies Folksonomies
Overly complex Simple
Closed/proprietary standards Open
Scheduled On demand
Long time-to-market cycles Short time-to-market cycles

It is apparent that the Enterprise 2.0 concept is associated not only with IT, but also with people and organizations. Organizations have to implement an optimized, diversified, simplified, agile, and cohesive IT organization model, as well as a workforce that can support the Enterprise 2.0 concept and can develop, deploy, and maintain Web 2.0–based RIAs.

This chapter will cover only the IT capabilities that are required to move the enterprise toward the Enterprise 2.0 concept and develop and deploy RIAs.

Goals for the Enterprise-Ready Technology Platform

In the era of Enterprise 2.0 and Web 2.0, we need to revisit the definition of an enterprise-ready technology platform. I believe that the technology platforms and components that help enterprises to achieve the following three goals supporting Enterprise 2.0 and Web 2.0 concepts can be defined as enterprise ready:

  • Enabling the development and deployment of collaborative business-enabled applications (BEAs) empowering end users and achieving business values

  • Supporting seven key principles (flexibility, usability, simplification, reusability, scalability, maintainability, security) for building RIAs as services

  • Enabling development of platform-independent RIAs as services to support all types of devices and platforms

Let's take a closer look at these three goals.

Business-Enabled applications

Enterprise 2.0– and Web 2.0–based technology platforms enable organizations to develop BEAs that drive business value and customer satisfaction. BEAs6 are IT-driven RIAs, which implies a balanced approach for application requirements based on customers' requirements, organization strategies, business value, and quality standards. Development of BEAs usually follows the agile software development life cycle (SDLC) to deliver applications on time and with a controlled cost model meeting customer expectations and the organization's IT budget.

Based on the preceding explanation, a simple formula can be defined for BEAs:

BEAs =

Balanced (requirement implementation + quality standards) + in-time delivery + controlled cost

Today, most organizations look at their IT division as a spending division rather than a profit-making division. Business-enabled RIAs usually strive to deliver maximum customer satisfaction and stakeholder expectations. Due to this reason, in the long term, proper alignment of business-enabled RIAs with an organization's strategies ultimately helps the organization to transform its IT department from a cost center to a profit-making center by returning maximum return on investment (ROI).

BEAs mainly focus on both angles of the business—customers and organization strategies (i.e., stakeholders).Figure 3-4 demonstrates the user-centric and business-driven key features of BEAs.

Image

Figure 3.4    Features of BEAs

As shown in Figure 3-4, user-centric features of BEAs are focused on three main factors—users, users, and users. Users are empowered to customize services and features (such as user-based and user role–based customized views and subscription-based services) of BEAs easily based on their needs. The following are key user-centric features of BEAs that improve the overall usability of applications and empower end users:

  • Richness

  • Flexibility

  • Consistency

  • High performance

  • High stability

Business-driven features of BEAs are focused on mainly three factors—organization strategies, quality, and cost. The following are key business-driven features of BEAs that enable organizations to support Enterprise 2.0 and Web 2.0 concepts and help organizations gain maximum ROI in the long term.

  • Proper quality standards and quality control process

  • Controlled cost

  • Remodeled IT organization model and strategies

  • Enhanced team integrity and ethical rules to support globalized cross-cultured virtual teams

  • Support for global and country-specific regulatory policies

  • Streamlined and integrated business processes

The balanced approach mentioned previously represents a balancing act among the four dimensions of BEAs (see Figure 3-5) in order to achieve the maximum ROI:

  • Controlled cost

  • Adjustment and alignment to requirements and strategies

  • Quality maintenance of organizations and applications

  • Time to deliver products and time to handle change management

Image

Figure 3.5    The four dimensions of BEAs to achieve maximum ROI

Seven Key Principles for Building RIAs As a Service

Abstracted, loosely coupled, and collaborative RIAs based on service-oriented architecture (SOA) help enterprises to develop, deploy, and distribute RIAs as software as a service (SaaS) to the end users.

The SOA-based SaaS helps to achieve several critical success factors, the following of which are but a few, for software applications supporting the Enterprise 2.0 and Web 2.0 concepts:

  • Reducing the overhead of software application development and deployment

  • Seamless integration among internal and external systems

  • Rich and collaborative lightweight RIAs

  • Ability to deliver applications on time

Figure 3-6 shows seven principles—usability, flexibility, simplicity, reusability, scalability, maintainability, and security—for building SOA-based RIAs and deploying them as SaaS. I will explain these seven key principles in detail in the next chapter.

Image

Figure 3.6    Seven key principles for building RIAs as SaaS

Device- and Platform-Independent RIAs

The last, but not least important, attribute of an enterprise-ready technology platform is the capability of developing worry-free device-and platform-independent RIAs supporting Enterprise 2.0 and Web 2.0 concepts.

Figure 3-7 demonstrates Enterprise 2.0 platform integration. As shown in the figure, the Enterprise 2.0 and Web 2.0 environment cloud is information (content and metadata) and media rich and contains lightweight services, enabling desktop applications like RIAs on the following:

  • Devices such as computers and mobile devices

  • Browser platforms such as Internet Explorer, Firefox, and Safari

  • Operating systems such as Windows, Mac, and mobile operating systems

Image

Figure 3.7    Device-and platform-independent Enterprise 2.0 and Web 2.0 applications

Is Silverlight an Enterprise-Ready Technology Platform?

It's time to validate that Silverlight is an enterprise-ready technology platform for developing RIAs supporting Enterprise 2.0 and Web 2.0 concepts, and thus are

  • BEAs

  • SaaS applications supporting the seven principles

  • Device and platform independent

Silverlight-Based Applications Are Business-Enabled RIAs

Silverlight has all the potential to empower end users by providing a very rich and personalized user interface. It is also able to drive business with the capability to seamlessly integrate and process all types of digital information (media and nonmedia) in a secure environment, and thus providing a competitive edge in the market.

The powerful integration of Silverlight with key Microsoft development and design platforms such as the .NET Framework, Visual Studio, and Expression Studio enable IT organizations to develop and deliver lightweight, high-quality, Silverlight-based RIAs on time and under budget, returning maximum ROI.

The rich gallery of WPF-based XAML user controls supplied by Microsoft and support from third-party Microsoft partners for enhanced rich XAML user controls provide further opportunities to develop highly usable and loosely coupled Silverlight services and applications. These Silverlight technology features and capabilities will enable enterprises to apply a balanced approach in defining the organization's IT vision and technology roadmap. They allow organizations to develop and deliver simplified, Silverlight-based, business-enabled RIAs that can return maximum ROI.

Silverlight-Based RIAs Follow the Seven Key Principles of Building RIAs As a Service

The main vision of Silverlight is to support all seven key principles—usability, flexibility, simplicity, reusability, scalability, maintainability, and security—for building RIAs as a service. The My Album application that we developed in Chapter 2 followed some of the key principles, such as usability and simplicity. We will prove that Silverlight applications also enable us to implement the remaining key principles in Chapters 4 and 5 when we transform the My Album RIA into the Enterprise Training Portal RIA.

Silverlight Is Platform Independent

One of the key goals of Silverlight is to keep it lightweight and platform independent in terms of compatibility with different operating systems, web browsers, and device types. As described in Chapter 1, Silverlight provides a platform to develop cross-browser, cross-platform, and cross-device RIAs. In addition to this cross-platform approach, Silverlight has enhanced networking support including policy-based cross-domain networking that enables different types of application deployment.

Conclusion: Silverlight Is an Enterprise-Ready Technology Platform

It is crystal clear from the preceding discussion (and from the creation of the My Album application in Chapter 2) that Silverlight is an enterprise-ready technology platform that supports Enterprise 2.0. Using Silverlight, we can develop platform-independent, service-oriented, business-enabled RIAs and deploy them as SaaS.

Design Concepts for Silverlight-Based Enterprise RIAs

Silverlight is clearly an enterprise-ready technology platform that supports the Enterprise 2.0 and Web 2.0 concepts. In this section, we will mainly focus on the design concepts for Silverlight-based Enterprise 2.0 RIAs. We will revisit the My Album application from Chapter 2 so you can understand these design concepts.

Architecture Components for Enterprise RIAs

As shown in Figure 3-8, from the architecture perspective, IT executives, architects, developers, and IT professionals need to focus on the following six key architecture components for enterprise RIAs:

1. System architecture

2. Information architecture

3. Application architecture

4. Services architecture

5. User interface framework design

6. Deployment and distribution

Image

Figure 3.8    Architecture components for enterprise RIAs

System Architecture

The system architecture mainly defines the infrastructure environment in which the RIA will be deployed. The system architecture definition supports and aligns with the organization's vision, product landscape, and technology roadmap. During the definition of the system architecture, we should consider and define application environment and deployment-specific aspects such as

  • Server and network architecture

  • Network impact analysis

  • Application software components and their setup and installation process

  • Fault tolerance, monitoring, and instrumentation

  • Information architecture including metadata definition and implementation

  • Database platform definition with high availability, backup, archive, retention, discovery, and digester recovery process implementation

  • Domain definition and security

  • User provisioning: authentication, authorization, and subscription services

  • IT governance and regulatory policy implementation

  • Services integration and deployment

  • Standardization of administration and maintenance processes

As you can see from the preceding explanation, more than just defining the infrastructure environment, the system architecture defines the enterprise architecture of the RIA and considers and covers the information architecture, application architecture, services architecture, user interface framework, and deployment and distribution strategies at a high level.

Information Architecture

The information architecture of the RIA mainly includes the definition of the data storage environment and the definition of the content.

Data Storage Environment Definition

The data storage environment provides architecture with details and design on how a secured data storage environment is deployed. It will support the implementation of high availability, backup, archive, retention, discovery, and digester recovery processes.

The data storage environment also defines the design and implementation of the data storage platform as a platform for secured collaboration among users. If there is a need for a data warehouse implementation, the information architecture also considers and defines different warehouse implementation approaches (e.g., information data warehouse, operational data warehouse, and data directory warehouse).

Content Definition

The content definition includes logical and physical data models detailing data type definitions, data structures, data relationships, data processing rules, data distribution rules, data security and governance rules, data sharing policies, and data discovery rules. The content definition should clearly define the taxonomy of the metadata related to the content. This metadata is used to identify and categorize different types of data and represent the right data at the right time as information to the end users, reducing the problem of information overload.

It is important to consider the use of industry-standard and open-standard metadata definitions (e.g., Dublin Core Online Metadata Standards—http://dublincore.org) in order to ease and standardize information integration and collaborative information among different interorganization and intraorganization systems. The use of industry-standard and open-standard metadata also helps build and maintain information-rich RIAs.

Application Architecture

The application architecture of RIAs mainly provides the application framework definition, determining the technologies and services that will be used in the development of the application. The application architecture also covers the design and definition of the application's services and components.

Application Framework Definition

The application framework defines the integration of different application layers—the presentation (user interface) layer, the services layer, the business components layer, the data access layer, and the data storage platform layer. The proper definition of the framework defining loosely coupled integration of different layers is critical in order to support the lightweight and service-oriented RIA development model and deploy RIAs as SaaS.

The application framework also defines the use of the following:

  • Patterns and best practices. As an example of the use of Microsoft patterns and best practices, consider the Composite Application Guidance for WPF, which helps you implement service-oriented, loosely coupled, enterprise-level WPF-based applications. (In the future, the Composite Application Guidance for WPF is going to support Silverlight-based applications also. Visit the MSDN web site for more details—http://msdn.microsoft.com/en-us/library/cc707819.aspx.)

  • An organization's reusable components and services from the components/service library.

  • Services and interfaces to integrate different internal and external systems and business processes.

Technology Platform and Components Definition

The definition of the use of technologies and technology platform is critical in order to make sure that the developed RIA is aligned with the organization's long-term vision, product landscape, and technology roadmap. The architecture should be flexible for migrating one version of the technology to the other. Along with the definition of which key technologies and technology platform to use, during the definition of the application architecture, one of the key things you will evaluate is the buy vs. build of services and components.

Buy vs. build is one of the critical and strategic decisions you need to consider before choosing to custom-develop all the components and services. There are numerous strategic advantages (including getting maximum ROI) in buying existing components and services rather than building and maintaining them. You should consider building custom components and services that are unique in terms of features.

Services Architecture

The SOA concept has brought this additional layer into the architecture definition and is now playing a vital role in any enterprise-level application. The deployment of applications as SaaS brought a revolution in the way enterprise architects design applications, enterprises develop and deploy applications as lightweight services, and end users utilize them in a collaborative way.

It is necessary to understand business requirements, requirements for integration between different internal and external systems, organization's product and technology roadmap, and the available open standards in order to define and architect loosely coupled services.

Application services feature integration between the following:

  • The abstracted application presentation layer and the business components that perform business logic

  • The data storage platform to access the data and feed data to business objects and the presentation layer, and to make the application a data platform–independent application

  • Internal and external systems for seamless business process integration and automation

While defining the application architecture, architects should consider implementing business process execution using services that can in the long term be used as reusable services across different applications. The services interface and contract definitions should be generic enough (not tightly coupled) to allow building a generic services library for the organization. This would help to reduce overall development and maintenance efforts and aid organizations in delivering effective and efficient applications just in time.

Developing and deploying applications as SaaS brings simplification, but also brings a number of different challenges such as these:

  • The loosely coupled and abstracted SOA approach can bring overhead when integrating different layers of the application to execute business processes. This can have an impact on the overall response time, and thus can degrade the performance of the application. The degraded performance can significantly reduce the usability of the application, making end-user acceptance questionable.

  • The system infrastructure architecture plays a critical role in the successful execution of service-based applications. Enterprise architects must consider the network latency and network bandwidth during the network impact analysis in order to achieve acceptable performance for end users accessing services from any part of the world and on any type of network (based on the defined enterprise application scope).

  • Security is one of the major concerns of SaaS. The distributed nature of services, web-based access to services, and XML-based, message-oriented digital information exchange using web-based protocols bring numerous types of vulnerabilities such as identity management, cross-domain information exchange, message integrity and confidentiality, and information hacking.

Architects must consider the preceding challenges during the definition, design, implementation, and deployment of services.

User Interface Framework Design

An efficient, interactive, customizable, and rich user interface is one of the key features for any successful enterprise RIA. As described in earlier chapters, Silverlight and Microsoft's tightly coupled designer and developer tools enable professionals to develop a desktop application–like user interface. However, it is not easy to develop an enterprise RIA that can support a user interface that caters to a very wide, cross-border, diversified, and cross-cultural group of end users.

Before implementing the presentation layer, we should consider finalizing the user interface framework of the application. In order to finalize the user interface framework, designers should identify key objectives of the application and different common navigation patterns; they can then align these patterns with formal navigation patterns. In Chapter 2, we followed the same approach: we identified navigation patterns and defined the user interface framework.

The identification of repeatable navigation patterns will help you to develop reusable user controls/components libraries that can be referenced from multiple applications. As described earlier, you should develop the presentation layer using patterns and best practices such as Microsoft's Composite Application Guidance for WPF to develop loosely coupled user interface.

Deployment and Distribution

The SOA and SaaS application development and deployment concepts have led organizations to consider deployment and distribution as key IT strategies. Including package definition and deployment strategies as part of the architecture definition helps organizations to provide secure, high-performing services and improve end-user experience.

For Silverlight-based RIAs, you need to make a decision on what to include within the package and what to include as a reference. The application then downloads the references on demand in order to maintain a minimal package size for distribution. This approach thus reduces download and startup time for the application and improves overall performance and end-user experience.

Silverlight also provides implementation of cross-domain policies in order to supply secured communication and access to cross-domain services and information. It is important to consider and define the cross-domain deployment strategy (if needed) and include the appropriate cross-domain policies as part of your application's system architecture. Chapter 6 will cover in more detail cross-domain policies for Silverlight applications.

Current Design for the My Album RIA

The main focus of Chapter 2 was to develop a fully functional RIA quickly—the My Album RIA—using Silverlight. As a result, from the design point of view, we just concentrated on the application navigation (i.e., user interface).

We were pretty successful in achieving that goal, but the My Album RIA is not flexible and scalable enough to accommodate the dynamic nature of an enterprise-level application and customer requirements. Figure 3-9 presents the application architecture of the Silverlight-based My Album application developed in Chapter 2.

Image

Figure 3.9    Application architecture of the My Album RIA developed in Chapter 2

As shown in Figure 3-9, we really did not focus on the enterprise aspects when building the My Album RIA, even though it has a rich desktop application–like user interface and user interactivity functionality.

We used the Silverlight Application project template to create the My Album application project. The presentation layer of the application consists of the XAML-based externalized user interface that we defined based on the user interface framework definition. We provided user interaction by implementing event handlers in the code-behind C# managed code.

The My Album media content (picture images, thumbnail images, and videos) file names and location information was hard-coded within the managed code and included as part of the package. This is not the best way to reference and deploy the media content.

Using the default Silverlight application package mechanism, we developed the application deployment package, included all images and video files as part of the package, and uploaded the application deployment package to the Microsoft Silverlight Streaming Server using the free Microsoft Silverlight Streaming Service. The uploaded application can be accessed directly from your account on the Microsoft Silverlight Streaming Server or can be attached as a plug-in to your web application.

Designing the My Album Application As an Enterprise RIA

In order to understand the design concepts of SOA-based, enterprise-level RIAs deployed as SaaS, we will take a first shot at revising the architecture of the My Album application. We will transform the application architecture so that My Album can be developed as an enterprise-level RIA. Figure 3-10 demonstrates the revised enterprise-level application architecture for the My Album application that will help to transform it into an enterprise RIA.

Image

Figure 3.10    Enterprise RIA architecture of the My Album RIA

During the process of reevaluating the application architecture of the My Album RIA, we will consider all aspects of the Enterprise 2.0 architecture that we discussed in the preceding sections of the chapter.

Defining a Modular Presentation Layer

We will use the same Silverlight Application project template to create the My Album enterprise RIA project, as well as the same user interface framework design we defined in Chapter 2. The presentation layer of the application consists of the XAML-based externalized user interface framework definition.

The key difference between the initial My Album application and the proposed enterprise-level version is the use of a modular user interface design approach. During the definition of the user interface framework, we need to identify repeatable navigation pattern(s) that can be reused across more than one application. We can implement identified reusable navigation patterns (e.g., preview pane, left-side navigation pane, content container) as custom Silverlight XAML user controls using the Silverlight Class Library project and make them part of the Silverlight custom user controls library.

Again, we'll provide user interaction in code-behind event handlers. However, we need to identify possible reusable functionality (e.g., identifying left navigation pane categories and building tabs dynamically) and make it part of the reusable components library using the Silverlight Class Library project type.

In addition to the XAML-based presentation layer definition, the application presentation layer's modular approach will simplify the process of maintaining a consistent look and feel and functionality across enterprise-level, Silverlight-based RIAs.

Defining Loosely Coupled Custom Web Services

Web Services play a vital role in implementing SOA-based enterprise applications and integrating different internal and external systems. Silverlight-based RIAs are capable of integrating with Web Services because of their code-behind managed code. An XAML user control's code-behind or a referenced class library component can call Web Services to integrate with different database components or different systems, or to perform business logic.

As an example, for the My Album application, we can utilize Web Services to retrieve the definition of the left-side navigation from a centralized location to create the categorized tab dynamically.

Using code-behind managed code, Silverlight can also integrate with Windows Communication Foundation (WCF)—a service-oriented programming model incorporating ASP.NET Web Services, .NET Framework remoting, and enterprise services. I will demonstrate the integration of WCF with Silverlight in Chapter 5.

Defining the Business Components Layer

The enterprise-level RIA business components layer is separated from the presentation layer and abstracted from the data storage platform.

As shown earlier in Figure 3-10, the business components layer comprises

  • Abstracted business components to execute business logic.

  • A set of data adapters that help us to integrate and access different types of data storage platforms. They allow us to transform data into the standard format required by our business components.

  • A set of service adapters that help us to transform the information into the format that is required by various Web Service interfaces to integrate with the application presentation layer.

Setting Up the Application Environment

Defining the infrastructure is critical for high performance and secure execution of enterprise applications. For the My Album application, the infrastructure architecture and database server–based user provisioning can provide effective user management and identity management. The database server can also be used for the metadata management. Based on your enterprise strategy, you need to decide the storage platform for image and video media files.

In addition to the database servers and media storage servers, you need application and web servers at minimum to deploy RIAs. Based on your organization's policy, you need to decide where to deploy the application—in the same domain or cross-domain, on the Internet or intranet zone— and whether to use a demilitarized zone (DMZ) to provide additional security to the organization's network.

Summary

After discussing the concept of Web 2.0 in Chapter 1 and developing the My Album RIA to demonstrate Silverlight's capabilities and supporting development environment in Chapter 2, this chapter defined the following:

  • The Enterprise 2.0 concept

  • The features of a technology that can make it an Enterprise 2.0–ready technology platform

  • The aspects of Silverlight that make it an Enterprise 2.0–ready technology platform

  • A new version of the My Album RIA architecture to develop and deploy it as an enterprise-level RIA

The Web 2.0 concept brings revolution to web-based application development and encourages enterprises to reevaluate their organization strategies, organization structure, and information system implementation approach. This new approach to develop and deploy RIAs is what Enterprise 2.0 is all about.

Capabilities to develop and deploy collaborative BEAs, support for the seven key principles (flexibility, usability, simplification, reusability, scalability, maintainability, security) of RIAs, and support for developing RIAs as platform-independent services are key features of Enterprise 2.0 and Web 2.0. Technology platforms and components that support these features are defined as enterprise-ready technology platforms and technology components.

Silverlight is an Enterprise 2.0–ready technology platform that supports all three goals and enables us to develop SOA-based, enterprise-level RIAs and to deploy them as SaaS.

At the end of the chapter, we redefined the My Album application architecture by incorporating SOA-based application development and SaaS deployment principles.

In the next chapter, we will dive into the details of SOA. We will also see details of the seven key principles for building Silverlight-based RIAs as services.

Additional References

Links from the Microsoft Web Site



1. M. R. Rangaswami, "Enterprise 2.0: The Big Picture," http://sandhill.com/opinion/editorial.php?id=98&page=1, 2006

2. Professor Andrew McAfee, "Enterprise 2.0, version 2.0," http://blog.hbs.edu/faculty/amcafee/index.php/faculty_amcafee_v3/enterprise_20_version_20/, 2006

3. Dion Hinchcliff, "The state of Enterprise 2.0," http://blogs.zdnet.com/Hinchcliffe/?p=143, 2007

4. Ibid.

5. Enterprise 2.0 Conference, "What Is Enterprise 2.0?" http://www.enterprise2conf.com/about/what-is-enterprise2.0.php

6. Ashish Ghoda, "'Business Enabled' Applications—Part One," http://advice.cio.com/ashish_ghoda/business_enabled_applications_part_one

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.143.235.219