The last four decades of the twentieth century witnessed the birth of the Computer Age. Computers have become an essential tool for nearly every corporate worker. Personal computers are now found in over 50 percent of U.S. households, and with this proliferation has come the explosion of the Internet. The Internet has not only changed the way consumers gather information and make their purchases, but it has also completely changed the way corporations must do business.
Today corporations must be able to respond quickly to market pressures and must be able to analyze large quantities of data to make appropriate decisions. To be of any use to the corporation, this data must be accurate, relevant, and available immediately. As we will see in this tutorial, a Digital Nervous System (DNS) will provide the corporation with a computer and software infrastructure that will provide accurate, relevant data in a timely manner. One of the most important elements of the DNS is the movement of data. In many circumstances, the ideal way to move this data will be in Extensible Markup Language (XML) format.
XML can be used to create text documents that contain data in a structured format. In addition to the data, you can include a detailed set of rules that define the structure of the data. The author of the XML document defines these rules. For example, you could create a set of rules that can be used for validating Microsoft Exchange email documents, Microsoft SQL Server databases, Microsoft Word documents, or any type of data that exists within the corporation.
An industry initiative called BizTalk, which was started by Microsoft and supported by many other organizations such as CommerceOne and Boeing, provides a standard set of rules that are agreed upon by different corporate communities and individual corporations. These rules are stored in a central repository and can be used to build standardized XML messages that can be sent between applications within the corporation and to applications belonging to the corporation's partners. Both large and small corporations can benefit from using these XML messages because it allows them to do business with a wider range of partners.
XML can do a great deal more than just move data. Data can be included in an XML document and then an Extensible Stylesheet Language (XSL) page can be used with the XML document to present the data in Microsoft Internet Explorer 5 (and hopefully other Web browsers in the near future). Using an XML document and an XSL page allows Web developers to separate data and presentation. tutorial 2 will examine why this technique is essential for corporate Web development.
Another initiative, the Simple Object Access Protocol (SOAP), enables you to use XML to call methods on a remote computer on the Internet, even through a firewall. The SOAP initiative is being developed by Developmentor, Microsoft, and others. For more information on SOAP, visit http://www.develop.com/soap/.
BizTalk, Internet Explorer 5, and SOAP address three of the most important issues facing corporations today:
- Creating standardized messages that can be moved inside and outside the corporation (BizTalk)
- Separating data and presentation when building Web pages (Internet Explorer 5)
- Calling methods through firewalls and between different platforms (SOAP)
The focus of this book will be on the features of XML and how it can be used to address these three issues.
A DNS is built to deliver information to the workers that require this information to perform their jobs. These knowledge workers focus on using information to make decisions for the corporation. Ideally, over the next decade most workers in the corporation should become knowledge workers as computers take over mundane, repetitious tasks.
Knowledge workers can be any of the following:
- Managers who review data to make corporate decisions
- Analysts who create detailed reports of the health of the corporation
- Workers who take orders and assist the customer in choosing a product
- Workers who create documents that contain information valuable to the corporation, such as project design documents, project schedules, and e-mail documents
To be able to do their jobs, these knowledge workers will need to access the vast quantity of information stored on the computers inside and outside the corporation. For the most part, this information will be accessed by workers through the intranet or Internet, creating a Web workstyle. During the first decade of the twenty-first century, we will see a major revolution: corporations will build DNS's to overcome the challenges of managing, sharing, and using information important to the knowledge worker.
The DNS supports and connects the four functions of a corporation:
- Basic operations Basic operations include accounting, order entry, purchasing, inventory, human resources, and so on. The majority of the applications in the corporation are built to maintain and promote the basic operations.
- Strategic thinking Strategic thinking centers on long-term profit, growth forecasts, marketing strategies, analysis of sales, business direction, vision and scope of projects that will create the DNS, and so on.
- Customer interaction Customer interaction involves anything that has to do with how the corporation interfaces with the customer, including customer feedback, analysis of customer satisfaction, and so on.
- Business reflexes Business reflexes determine how quickly a corporation can respond to bad news and correct the situation. Production or inventory shortfalls or overruns, downturn in a market, failure to reach projected goals, and so on must all reach the appropriate knowledge worker quickly.
The DNS is at the center of the corporate functions; all information can flow through the DNS. The most difficult part of creating this system is providing a means to pass messages through the DNS. As has been discussed previously, and will be discussed throughout this book, the means for the most part is XML.
The DNS vision is that digital storage, retrieval, and delivery of information will radically improve the efficiency, effectiveness, and responsiveness of corporations that use it correctly. The role of the DNS in linking these corporate functions is illustrated in Figure 1-1.
Figure 1-1. Microsoft products that support the four corporate functions and the DNS.
As the figure illustrates, each of the corporate functions and the DNS are supported by Microsoft products. The heart of the DNS is Microsoft's server products: Microsoft BackOffice, SQL Server 7, Internet Information Services, Site Server, Microsoft Windows NT, and so on. All of the functions of the enterprise will be able to connect to these server products through the DNS.
Site Server will eventually be replaced by Business Server. You could also include Microsoft SNA Server as part of the DNS if you need to connect to mainframe systems. The upgrades of SNA Server, which will be released soon, and Business Server will both be XML based. The new versions of IIS and SQL Server 7.5 will also have added XML functionality. Thus, XML will become a critical element in every part of the DNS.
Let's take a more detailed look at the DNS itself. The primary goal of the DNS is to provide business-critical information to the right place at the right time. To accomplish this, the DNS will have to perform the following tasks:
- Provide scalability
- Enable creation of Microsoft Windows Distributed interNet Application Architecture (DNA) systems
- Facilitate Internet use
- Create corporate memory
- Eliminate paper forms
- Allow self-service applications, which will enable users to perform tasks independently
- Capture customer feedback
- Provide business partner communication
- Respond to crises
All of these topics will be discussed in detail in the sections that follow.
One of the basic realities of our time is that everything changes very quickly. A system that needs to support only 10,000 users today might have to support 100,000 users tomorrow. Scalability must be built into every DNS and is one of the most important elements in creating an effective DNS. Scalability can be created through either hardware or software solutions. We'll look briefly here at hardware solutions, but this chapter, and this book as a whole, will focus on software solutions.
Hardware solutions
Intel and Microsoft are developing products that support a much higher capacity by using faster processors, more memory, more clustered computers, and multiple processors. Ultimately, Microsoft's vision is to create scalable computing using clusters of smaller computers that cooperate via software. These clusters will provide redundancy and scalability and will offer an alternative to monolithic mainframes. With the release of Windows 2000, PCs with 32 processors connected in a cluster consisting of up to four PCs should become a possibility.
Software solutions
Windows DNA provides a framework for designing, building, and reusing software components to build a DNS. Large, distributed systems can be built using the Windows DNA framework. These Windows DNA systems are distributed because they can have components that are located anywhere in the enterprise¡ªthat is, on the client machine; on a Web, database, or middle-tier server; on a mainframe computer; or on any computer within the enterprise.
The XML extensions proposed in BizTalk are being developed to overcome some of the barriers that currently exist with extranets. Extranets are networks created by connecting computer systems from two different corporations. Usually, the two corporations are corporate partners. Using BizTalk, information can flow in a standardized format through the extranet.
The XML extensions proposed in SOAP are being developed to solve the problems of communication between platforms (UNIX, Windows, and so on). SOAP also addresses the difficulty of calling methods through a firewall by using XML and Hypertext Transfer Protocol (HTTP) to pass messages to methods behind a firewall.
The combination of XML and the Internet will allow the actual physical locations of the different elements of a Windows DNA system to span the entire globe. The Windows DNA systems that use the Internet and XML will be capable of moving messages across international boundaries inside and outside the corporations of the world.
These Windows DNA systems can be created using Component Object Model (COM) components, such as those built from Microsoft Visual Studio in C++, Microsoft Visual Basic, or Java; ASP pages; and Web browsers such as Internet Explorer 5. They will be supported by the full range of Microsoft's software, including BackOffice, Office, Exchange Server, Site Server, SQL Server 7, and so on. Essentially, Microsoft provides all of the support and development products to create a customized enterprise solution that meets the specific needs of any corporation.
A Windows DNA system cannot be built without careful foresight and planning. For the system to work properly, you will need to be sure that all of the components of the system can work together. Many of the components in the system will depend on other components to perform services for them. Each component can have methods and properties associated with it. The methods are the services the component performs, and the properties are the attributes of the component.
For example, suppose we have a component named DataServices. The DataServices component communicates directly with the database and performs all of the Create, Read, Update, and Delete (CRUD) services with the database. The DataServices component will have the following methods: Create, Read, Update, and Delete. Another component, called the UserServices component, will interact with the user. The UserServices component will allow the user to review, update, add, and delete records from the database through the DataServices component.
Tightly bound systems
Currently, the usual way to create a system of interdependent components is to design all of the components together and have one component call the methods and properties of another component directly. In our example, the user would request a service from the UserServices component and the UserServices component would make a direct request to the DataServices component to actually perform this service. Figure 1-2 illustrates this process for a request to update a record.
Figure 1-2. Request to update a record in a tightly bound system.
As you can see, the UserServices component will be coded such that it will call the Update method in the DataServices component. If you change the Update method, you will also have to change the code within the UserServices component. This is called a tightly bound system, meaning that components in the system are directly dependent on other components in the system.
This type of system requires you to design all of its components at the same time. You can build the UserServices component first, but you'll need to know what methods the DataServices component will have¡ªin other words, you will need to design the DataServices component at the same time as the UserServices component. When you are creating a Windows DNA system, which spans an entire enterprise that consists of hundreds of components, the task of designing all of the components at the same time can become nearly impossible. Add to this the capability of communicating with components outside the system through extranets, and you may now have a system that cannot be built using tightly bound components.
Corporations usually have many existing tightly bound systems. These systems do not always need to be replaced, but might need to be upgraded with newer components that can communicate with the older components. Tightly bound components can be appropriate in systems that have few components. XML can be used to build or augment tightly bound systems by using SOAP. Using SOAP, one component can call the methods or set the properties of another component using XML and HTTP.
Loosely bound systems
To solve the problems of the tightly bound system, we must do some rethinking. We need to allow components to request services without knowing in advance which component will actually perform that service¡ªin other words, we need to create a loosely bound system.
A request for a service can be considered as a message. When a component requests a service, it sends a message to another component specifying what it wants the other component to do. A request for a service can also contain additional information that is required to perform the service (such as the ID of the record that is about to be updated and the updated values for the record).
To request a service in a loosely bound system, a component packages the request in a message that is passed to a messaging component. The messaging component will then be responsible for determining the message type and identifying which component will provide the services associated with the message. Our update request will now look like the one shown in Figure 1-3.
Figure 1-3. Request to update a record in a loosely bound system.
In the loosely bound system, the UserServices component does not need any information about the DataServices component; it needs to know only the format of the update message. The DataServices component, including its interface, can be completely and repeatedly rewritten, and nothing will have to change in the UserServices component as long as the DataServices component still works with the same message format.
Building on this example, suppose we have two corporations: Corporation A and its partner, Corporation B. As you can see in Figure 1-3, it's quite possible that the UserServices component is running in Corporation A and the DataServices component is running in Corporation B. Neither corporation has to be concerned about using the same platforms or the same types of components or about any of the details of the components running in the other corporation. As long as both corporations can agree on a standard format for messages, they will be able to request services on each other's systems. BizTalk is all about creating these standard formats for messages used in business-to-business (B2B) communications. Thus, BizTalk will allow the creation of large Windows DNA systems that support both the internal DNS for the corporation's knowledge workers and the extranet for the corporate partners.
The Internet has changed everything. It has become a way of doing business for nearly every corporation. The number of people surfing the Internet has reached epic proportions. The use of the Internet to do research, make purchases, download software, and so on has created a new Web lifestyle.
Corporations will need to do more than simply throw together a corporate Web site. Consumers and business partners expect sophisticated, easy-to-use sites that fulfill their needs. The Internet creates entirely new markets and allows small and large corporations to compete on an even playing field. This competition can be fierce, as we've seen in the rivalry between corporations such as Amazon.com and Barnes & Noble.
Changes in technology will affect the way Web sites are created and presented. Corporations will need to develop sites that reflect current trends and technology or they might lose their business to competitors. The backbone of a successful DNS will be an intranet or the Internet or both. XML can be used to move data over the Internet using the HTTP protocol. Using SOAP, HTTP can also be used to invoke methods.
Corporate memory refers to how well the corporation as a whole learns from previous problems and the associated solutions. The creation of corporate memory will require documentation, storage, organization, and retrieval of these solutions so that any member of the corporation can share this knowledge and not have to "reinvent the wheel."
Ideally, a manager should be able to locate and access the correct information he or she needs to make business decisions within one minute¡ªthis is called the one-minute manager. It might not be possible to achieve this level of performance at the present time, but it should be the goal for the Windows DNA systems being designed today.
XML can be used to translate data into a standard format and move it through the corporation using the DNS. A standard format will allow a diverse range of information formats, from e-mail documents to database fields, to be treated as a single entity.
As you know, using paper forms rather than electronic media to store and analyze corporate information is inefficient. Electronic storage of corporate information allows that information to be searched efficiently and shared across the enterprise. In addition, using electronic data entry allows information to be packaged in XML format and transported inside and outside the enterprise. Ideally, any form should be able to be completed within about three minutes. This is called the "soft-boiled egg" rule.
In many corporations, a great deal of personnel resources are used to respond to routine requests such as order status, simple help questions, employee information, and so on. An essential part of the DNS is providing Internet and intranet sites that allow users to perform these services without the help of corporate personnel. Well-designed sites allow the user to access information quickly and easily, and allow workers to focus on dealing with only the more critical issues. XML can be used to package and deliver the information to and from the user.
A corporation's marketing department requires detailed information about the corporation's customers. Normally, surveys, sales analyses, and third-party marketing results are used to gather information about current and future customers. Today's technology allows an in-depth analysis of customer usage of Web sites that can provide detailed information about buying practices, customer needs, the success of sales promotions, and so on. In addition, users can provide direct feedback by being allowed to customize the way they navigate the Web site or through survey forms. The information obtained from these forms can be formatted using XML into a standard BizTalk format for analysis by the corporation's marketing department.
Creating Web sites is an iterative process. Every new iteration is based on careful analysis of previous iterations. In this way, Web sites and the corporation's definition of the needs of its customers are constantly refined and updated as the customers' needs change and technology evolves.
Extranets provide a powerful means of sharing information among business partners. Critical information that must be shared between corporate partners can pass easily through a DNS that spans corporate boundaries. XML and BizTalk provide a workable solution that can allow this transfer of messages.
The creation of advanced real-time business transactions that can be transmitted across extranets using XML will allow for just-in-time (JIT) delivery of goods between suppliers and consumers.
The quick flow of critical business information to the knowledge workers capable of making crucial decisions will be essential for the success of any corporation. An event-driven DNS provides the conduit through which business events are published to the DNS; those interested in certain types of events subscribe to them and are automatically notified. Once again, XML can be used to package the messages that are published.
discuss this topic to forum
