The Technology of Microsoft CRM
The primary technical advance behind Microsoft CRM is the architecture framework: Microsoft's .NETwhich is the framework for Web services. By using the Internet to enable software applications to more easily work together, Microsoft .NET promises easier integration within and between businesses, while creating opportunities to more meaningfully connect with consumers. Microsoft CRM is the first in a planned series of business applications from Microsoft to be built from the ground up on the .NET Framework.
Benefits for Business
With .NET software and services, businesses can realize improvements in the time and cost associated with developing and maintaining their business applications. Figure 3.3 shows how an enterprise portal utilizes the .NET framework, enabling customers, trading partners, and suppliers to have controlled access to enterprise applications, as well as empowering employees with the ability to act on vital information anywhere, from any smart device.
Figure 3.3 The enterprise portal model shows how .NET makes the business process hub feasible.
The enterprise portal utilizes .NET to deliver best of breed integration. Exposing XML Web services to customers, partners, and suppliers increases potential reach and exposure, creating new business opportunities. .NET promises substantial savings in development costs, as well as creating new revenue streams, through the use of XML Web services.
The Enterprise Portal provides controlled access to a set of loosely coupled application components, or modular Web services, extending the infrastructure beyond the enterprise. It provides a secure Web site for internal and external access to the XML Web services utilized across the enterprise. These services can then provide business-to-business electronic exchange as well as online GUI Customer access mechanisms.
Web Sites will Evolve
For businesses to truly harness the power of the Internet, Web sites must evolve. As shown in Figure 3.4, Web sites will learn to interact with one another as well as with existing systems and applications. XML Web services will facilitate the evolution of the Web site from standalone pages to a method of business exchange.
Figure 3.4 Web sites must evolve from standalone sites to interacting sites that provide business exchange.
.NET and Integration
.NET offers integration through standard Internet protocols (XML and SOAP). The modular aspects of modern software applications enable them to communicate through XML Web services, offering a direct means by which business processes can interact. As shown in Figure 3.5, applications hosted locally, as well as on remote systems, can be stitched together, allowing businesses to program the Web. Businesses can quickly and economically create specialized solutions that meet unique business needs.
SOAP (Simple Object Access Protocol)) is a simple XML-based messaging protocol for calling a Web service typically using HTTP transport.
Figure 3.5 .NET integration enables applications to communicate quickly and easily through standard Internet protocols (XML and SOAP).
XML Web services enable organizations to bridge applications and information written in different programming languages and residing on differing platforms. As seen in Figure 3.6, applications from departments such as Human Resources and Accounting can expose information as XML, sharing information to create a new benefits application.
Figure 3.6 Information from the Human Resources and Accounting applications is combined to create the new benefits application.
Individual components of specific applications within a company can interact by using the common language runtime, part of the .NET Framework. For example, a new customer tracking function written in COBOL can be used with an existing Marketing application that was written in a different computing language.
Integrating for Business Exchange
By using XML Web services, companies can more easily integrate internal applications. They can also access services offered by other businesses, by combining XML Web services exposed on the Internet, as shown in Figure 3.7.
Figure 3.7 External integration enables companies to exchange information via XML Web services, to integrate business processes across the Internet.
Now companies can create a wide variety of value-added applications. For example, a professional services firm could unify benefits, payroll, human resources, and resource utilization into a single seamless resource management portal for its employees, or they could integrate inventory control, fulfillment mechanisms, and purchase order tracking into a comprehensive supply chain management system.
Integrating for Customer Personalization
With the capability .NET provides for different software programs to interact, a user will be able to establish an identity and move seamlessly from one online experience to another. They will control their data and be able to act on it anywhere, anyplace, and at anytime. They can select the user experience they desire, saving those options across multiple pages.
Businesses that provide XML Web service access to their business processes open up the possibilities for customer interactions and create more intelligent, personal user experiences. For example, a customer seeking to buy car insurance online could more easily shop for the best price quote by utilizing XML Web services that communicate driver information, vehicle history, and claims history, enabling them to interact with the XML Web services from the auto insurer.
New Revenue Streams
The potential for new revenue streams is another key advantage of creating XML Web services and exposing them on the Internet. Opening up these key business processes that were typically locked in internal systems can create a number of new and exciting opportunities to make money. For example, an automated proposal-creation component created for internal use could be exposed as an XML Web service, enabling other companies to quickly and easily use the functionality, thus providing a new revenue stream.
Expanded Customer Access
The number of customers and partners who can find and access your services can be greatly expanded. By exposing business processes with XML Web services and making them available on the Internet to customers and business partners, companies can access a whole new arena of contacts.
An airline could expose an XML Web service of its flight schedules and travel agents and businesses in related industries, such as hotels or car-rental agencies, can utilize the information to build their own systems. Customers can enter at numerous points in the process, creating travel reservations in conjunction with hotel reservations and car-rental arrangements.
Shorter Development Times
The goal of Microsoft Visual Studio .NET and the .NET Framework is to empower developers to quickly and easily create cutting-edge XML Web services and applications, building on their existing skills sets. Through multi-language support, developers are freed to use the appropriate language in building XML Web services. Seamless deployment, as well as the ability to use existing XML Web services, presents substantial savings opportunities for the corporate IT department.
In addition to the technical capabilities they offer, these developer technologies help alleviate the greatest scarcity in the world: skilled programmers. Applying rapid application development techniques to Web applications and services increases developer productivity, saving both time and money. Finally, by supporting any programming language, these tools tap the broadest developer talent pool (only about 10 percent of the world's developers know Java), take advantage of existing skills, and let people use the tool most appropriate for a specific task.
Empowering Business People
.NET promises to allow business people to act on the appropriate information where and when they need it, facilitating better decisions by giving people in the field, at the office, and in between the information they need in a suitable and useful form. Important client information, once locked away in isolation on a mainframe, can be easily accessed and acted on by a salesperson on a handheld computer across the country. A contact or appointment added to a Pocket PC by a project manager while at a job site can be instantly accessible to members of the same team scattered around the world.
Recent years have seen a shift to distributed computing. Particularly over the last couple of years, communications companies have been laying fat pipes to the point where bandwidth is a lot less limited than it has been in the past. We've all heard of Moore's Law, which declares that processing power doubles every eighteen months while prices are halved, but you might not have heard of Gilder's Law that network bandwidth doubles every six months. This produces an environment in which connectivity gains grow three times faster each year than processing gains. Available bandwidth continues to accelerate and encourages the use of distributed computing in the infrastructure to utilize the "edges" of the computing infrastructure.
Developers now have the option to do really distributed computing for the first time. Now, because bandwidth is less expensive, you can do the actual processing wherever it is most optimal.
Such distributed applications are prevalent today. Napster is an application that uses a rich client talking to a directory service in the cloud, and uses all of the participating computers on the network as servers. Another example of a distributed application is instant messaging, where you have a rich client that talks to a buddy list in the cloud and communicates with other rich clients, such as Instant Messenger and Microsoft Windows, in the network.
.NET is aimed at accelerating this next generation of distributed computing.
As with any technology, Web services adoption will be accelerated by vendors working together. Thus far, many vendors have cooperated together on Web services. However, it would be naive to believe that vendors will put aside their own interests "for the good of the industry," or to make the lives of their users any easier. After all, they are all public, for-profit companies. Although efforts such as the Web Services Interoperability Organization (WS-I), the Liberty Alliance, and the World Wide Web Consortium (W3C) have the potential to assist with the standards-setting process, they will continue to be rife with politics.
Web services adoption will, therefore, not occur as quickly as it might have. However, there is already agreement on the basic standards, such as UDDI registry, Web Services Description Language (WSDL), and SOAP. This is sufficient for work to begin on many applications. Projects that need to advance beyond the state of these standards must rely on proprietary or potential standard technologies. At this point, given the current situation regarding Web services standards, industry experts estimate the delay in adoption will be approximately 18 months.
Universal Description, Discovery, and Integration Language (UDDI) is a directory standard for registering Web services that users and systems can find and use.
As these Web services standards mature over the next decade, they will have a substantial impact on how we do business over the Internet and electronically. Web services standards are driving value today by lowering the cost of integration between systems. Going forward, entirely new value propositions will be created as Web service standards are widely adopted to enable applications to dynamically discover each other on the Internet and exchange data.
New common standards for Web services include SOAP, WSDL, and UDDI, whereas some of the old, nonstandard protocols are CORBA, RMI, HTTP, and proprietary XML.