.NET and Web Services

 < Day Day Up > 



The core of the .NET strategy (and that of the rival integration platforms of competitors such as Sun and IBM) is Web services. These are a step toward what World Wide Web creator Tim Berners-Lee refers to as the "semantic Web" — that is, users can search and access not just Web pages but actual data. Web services mark a shift in computing away from a client/server to an Internet-based platform, with seamless integration of applications running on different platforms. Current applications are typically built on the Component Object Model (COM), where an application is assembled from smaller blocks of reusable code. Rather than writing everything from scratch, programmers harness preassembled code packages to accomplish routine functions in a manner similar to building something with Legos, where all the pieces are designed to work together and can be used in different configurations to build anything from a house to a spaceship. Web services take this concept one step further. Although COM allows an application to be built of components running on a single machine and running a particular operating system, Web services permit these applications to be assembled out of components running on different machines and operating systems connected using Internet standards. Four standards make up the procedure.

The .NET Starting Roster

Any new technology has its own set of unique terms and acronyms, and Web services are no exception. The four key terms and technologies and the standards organizations involved are as follows:

  • Simple Object Access Protocol (SOAP) creates a method for one program to communicate with another program, even if they are on different operating systems, through the use of HTTP. It solves the problem of getting code through firewalls, as most firewalls allow HTTP to pass through while blocking other types of applications. With SOAP, computers can call each other and exchange information. Originally developed by Microsoft, DevelopMentor, Inc., and Userland Software, Inc., SOAP is now a standard of the World Wide Web Consortium (www.w3c.org).

  • Universal Description, Discovery, and Integration (UDDI) provides an online business registry, similar to the phone book, that allows people to search out a Web service. The same standard can be used by an individual organization to create its own internal directory of Web services. To access the public online directory or for further data on UDDI, go to www.uddi.org.

  • Web Services Definition Language (WSDL) is an XML-based format for describing a Web service in a way that other computers can locate it and interact with it. WSDL was submitted to the World Wide Web Consortium in March 2001 (see www.w3c.org).

  • Extensible Markup Language (XML) is a way of exchanging information over the Web. It is similar to the HTML used in creating Web pages, but while HTML is limited to describing how items should appear in a Web page, XML describes data so that applications can exchange information with each other. XML is a formal recommendation of the World Wide Web Consortium (www.w3c.org).

Other formats are also used. For example, Microsoft has developed another type of XML document called Discovery of Web Services (DISCO) for querying a particular URL to discover what Web services it offers. Only the above four, however, have attained widespread acceptance.

What does this all mean? More than anything, Web services hold the promise of better data and application integration. As well as providing the opportunity to shuttle data between different departments, systems, and services without the usual integration tangles, this utility gives applications the ability to call application logic in different entities, without regard to operating system or development environment. Consequently, .NET offers the ability to integrate internal systems and databases, as well as linking up easily with other companies, partners, databases, agencies, vendors, and customers. Of itself, this ability is not particularly revolutionary, as countless middleware solutions are available to accomplish just that. Simply stated, the Web services do not do anything that could not be done previously. What does make the Web services unique is that cross-platform integration is being built into every step of the software process. Microsoft includes .NET features in Windows XP, and the same Web services standards are built into IBM, Sun, Hewlett-Packard, and BEA/Bowstreet server software. This takes middleware out of the realm of customized one-on-one hookups and brings it much closer to Plug and Play functionality.

Middleware, in fact, is a massive industry. Companies such as IBM and Candle Corp. make millions tying together disparate systems, and consultants galore swarm across the systems of Fortune 500 companies attempting to make E-business applications function and to cobble together back-end and front-end systems. Instead of customer integration, Web services will make rapid integration feasible by adhering to one of the standards covered above. Microsoft is hoping that its .NET initiative becomes the de facto standard for IT. With the release of Windows Server 2003, it hopes to greatly expand its share of the integration and data availability market.

Although customers and the public will experience obvious benefits when applications talk to each other, perhaps the biggest effect of .NET will be felt internally. Many IT departments have been tied up for some time trying to put everyone on a single platform. With .NET, that may no longer be necessary. The bottom line is that Web services will make it easier to achieve interoperability without any kind of common architecture. One organization using Microsoft, for example, can integrate with one using the J2EE programming language without the need for expensive middleware and months of endless consulting to do so.

As .NET also makes it easier to integrate with applications running outside the organization, this could eventually eliminate the cost of maintaining duplicate databases. At a government level, for instance, state and local government agencies would be able to talk to federal government Web services (and vice versa) to share information instead of storing it in several places.

Consider the area of crime prevention. Currently, most local police forces have their own individual systems that record crime in one city or county. Small amounts of data sharing take place between the city and county systems and federal policing entities such as the FBI, as well as state law enforcement agencies. Yet, it is quite common for a criminal to be perpetrating crimes in several jurisdictions without anyone realizing it is the same person. Early pilot programs with .NET in California, for example, have demonstrated that it is feasible to tie these systems together with ease to improve performance among the agencies concerned. The King County Sheriff's Office (Washington State), for example, is developing an information sharing system with a search engine exclusively for police to use for local coordination. By typing in the name of a suspect or his modus operandi or the kind of car he drives, it is possible to obtain matching information from around the county. Currently, the fact that similar crimes are being committed in two or more cities may not be detected (e.g., a serial burglar in one town doing similar jobs in a neighboring town), but police networks are now being established to eliminate the need to make special requests to state and federal agencies for local matters. The pilot program is ongoing in the King County Sheriff's Office and two other police agencies. The plan is to hook together all of the county's police departments.

Case Study: Making the Case for Information Sharing among Police Departments

The front pages have been filled with tales of how the September 11 attacks might have been prevented if only the FBI, INS, CIA, and other agencies had shared their information in a timely manner. While the terrorist attacks are a spectacular example of the costs of information-sharing failure, they are far from the only example. Information-sharing failures, in fact, occur every day in law enforcement jurisdictions throughout the country, resulting in unsolved crimes committed by repeat offenders. Combining the description of a car used in one robbery with the description of a suspect in another robbery may lead to a quick arrest. For example, it is not unusual for two apparently similar auto thefts to occur only a half mile apart, yet because they occurred on opposite sides of a city boundary, the data is never shared, thus hampering the investigation. Now factor in the typical patchwork of municipalities making up most metropolitan regions, and with so many separate police departments and jurisdictions the task of information sharing can become daunting. Police records indicate that it is quite rare to have robberies that do not occur serially; however, without integrating IT systems and cardfile databases across jurisdictions, police forces often do not have access to information regarding where a suspect may have committed other robberies. Further, the dream of uniting this information has been thwarted for many years due to the sheer amount of funds that would be involved.

Fortunately, this situation is about to change. An information-sharing committee for the King County Police Chiefs Association (KCPCA) in Washington State is working together with Microsoft to develop and implement a .NET-based system allowing simultaneous real-time access to information contained in the Records Management Systems (RMS) of all the county agencies. This system will bring together the Tukwila Police Department and another three dozen law enforcement agencies that serve the 1.7 million residents of King County. According to the police chief of Tukwila, law enforcement efforts, like those of so many other industries, have been too concerned with their own territories and have not been able or willing to share information to the extent required. In King County, however, a core of leaders has been assembled who believe strongly in allowing other agencies to access their data to make law enforcement more effective.

The KCPCA members already had access to the FBI's National Crime Information Center (NCIC) as well as the state's crime database, but the NCIC only reflects convictions and the state database does not list someone until an arrest is made. What was needed was the means to share operational data impacting ongoing investigations at a local level. To begin, the KCPCA put together a secure Web site (WIRE, for Web-Based Information for Regional Enforcement), where agencies could post crime bulletins and analyses available to other agencies via a search engine. Only information on major crimes was posted, with data being uploaded perhaps once a week. While this was better than nothing, overall, it proved too limited and too slow to meet the needs of the officers.

Just imagine the extent of information available in every jurisdiction. The information collected on suspects, locations, and vehicles has been stored for years, so databases are uniformly massive. Literally mountains of useful information must be sorted through, and systems such as WIRE reveal just a tiny slice of that data. The KCPCA, therefore, started investigating information-sharing systems used in other parts of the country but found little that approached the functionality it sought. Then in stepped one of King County's more famous companies, Microsoft, to lend a hand. The company offered to donate the expertise necessary to link the different databases being kept by the county's agencies using its .NET platform.

A pilot of the new system, called the Regional Information Sharing System (RISS), has already begun. Initial participants include the Tukwila Police Department and the King County Sheriff's Office, which provides contract services to 14 cities in the vicinity. Rather than having to combine all the data from the different agencies into a huge centralized database in a specialized format, RISS utilizes Microsoft's .NET architecture to link the data that the agencies are already keeping no matter the format (see Exhibit 1). This technology is indifferent to what platform any agency is using. Whether agencies are using IBM's DB2 on a mainframe, an Oracle database on a UNIX server, or one of many Microsoft platforms, the information is in same basic format so that everyone is talking the same language.

Exhibit 1: Diagram of King County Program

start example

click to expand

end example

To participate, all the agency needs is a server running the Windows 2000 Server operating system and Microsoft's Internet Information Server (IIS), together with Microsoft's .NET framework software, which makes it possible to share information between the databases. Combined cost for the hardware and software is about $3500 per participating site. RISS consists of one central server hosted by the county and separate servers at each of the participating law enforcement agencies connected via .NET Services. The central server (County LSJ Server) contains a UDDI directory, which is a catalog of the types of services that are available online. The catalog listings are designed to be read by a machine, rather than by a person. In this case, the different agency computers contact the UDDI directory to find out what type of information is contained in the other agencies' databases and how to access this information.

Each agency maintains its own server to hold its own records database as well as a Data Access Component, a piece of code that allows users to conduct queries on that database. A second server acts to translate the information into a common format so it can be shared by the other agencies using XML, which is similar to HTML, the language used to create Web pages, but has stricter formatting requirements that allow for the sharing of raw data. The XSLT (Extensible Stylesheet Language Transformation) translators shown in Exhibit 1 refer to a language that translates the XML documents into other formats such as HTML for viewing on a Web page or Portable Document Format (.pdf) for printing. All the computers connect to each other through the county's Inter-Government Network (IGN).

Each agency will continue to store and maintain data in the usual way, but they will be able not only to search their own records, but also to conduct a browser-based search that will access the data in all the other participating agency's RMSs. Initially, officers and staff will perform the searches from terminals in the stations, but eventually access will extend out to patrol cars and handheld devices. As each agency comes on line, it will make it easier for all the rest to do their jobs. The system will generate more leads and will make it possible to solve crimes to a much greater degree than was previously possible. RISS is now being opened up to the other 36 law enforcement agencies in the county, with the complete rollout scheduled for completion sometime in 2003.

Nothing but .NET: What Are the Alternatives to .NET?

Although Microsoft is grabbing the headlines, other companies offer Web services software. IBM (Websphere), Sun Microsystems (SunONE), BEA/Bowstreet (WebLogic), and others have mature products on the market, but typically it comes down to Microsoft versus the rest of the development world. Microsoft critics accuse it of being too proprietary in its Web services implementation. They believe that the focus on .NET or COM components makes it a limited integration platform. As a result, IBM and other companies have built their products using the Java 2 Platform, Enterprise Edition (J2EE). Developed by Sun Microsystems and its partners, it is a Java programming language platform designed for enterprise-scale computing. In contrast to Microsoft's products, J2EE is designed to build applications on a platform-independent "Write Once, Run Anywhere" model.

VisualStudio.NET, the development component of the .NET platform, though, has one big advantage — it is very easy to use; thus, it could be simple enough to bring the power of the Web services programming model to the masses. Yet, from a development platform perspective, J2EE is farther along and is more widely supported. Although it is the more favored solution at the moment, Microsoft could easily grab significant market share in a short time and garner support from a wide range of partners.

So how is this canvas going to unfold? Even though these competing systems will talk to each other, as they all rely on the same set of standards, they will probably each develop various flavors with exclusive features to carve out market share. Compared with the others, .NET may ultimately offer enough advantages to win the war. To begin with, all the components come from a single vendor, which should guarantee greater compatibility and eliminate vendor finger pointing when problems arise. Also, because Microsoft is incorporating Web services support right into operating systems and server applications, this eliminates the need for an additional layer of middleware to convert these applications into Web services. And, with over 90 percent of the desktop market in its pocket, as well as 25 million developers trained in Microsoft tools, Microsoft's offering is going to be difficult to beat.

The downside, of course, is a familiar refrain. Microsoft products tend to work better with each other than with competing systems. For exclusively Microsoft shops, this is an advantage, but some may want more options. J2EE advocates say this platform lets users select from a wider variety of operating systems and hardware platforms and provides greater scalability. Additionally, the issue of third-party software and tools cannot be overlooked. Simply put, a greater number of innovative vendors offer tools for J2EE than for .NET.

Whatever format prevails, Web services represent the next evolutionary stage in distributed computing. They are catching on quickly and will become widespread within a few years. While the technology is still in the early adopter phase, now is the time for developers to learn about it and experiment with its application. Free toolkits are available to help Microsoft and Java developers become familiar with these technologies. As Web services can be implemented one at a time, IT staff can begin with simple internal-facing applications. Once these have proven their worth, they can be moved to the Internet.



 < Day Day Up > 



Server Disk Management in a Windows Enviornment
Server Disk Management in a Windows Enviornment
ISBN: N/A
EAN: N/A
Year: 2003
Pages: 197

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net