The Next-Generation Distributed-Object Web and its Application to ...

6 downloads 0 Views 64KB Size Report
Input & output data and variables are kludged together with HTML forms, CGI interfaces,. Proceedings of the 33rd Hawaii International Conference on System ...
Proceedings of the 33rd Hawaii International Conference on System Sciences - 2000

The Next-Generation Distributed-Object Web and its Application to Sports Medicine Stan McCellan, Murat M. Tanik, ECE Dept., UAB Murat N. Tanju Acc. Dept., UAB Leon Jololian CIS Dept., New Jersey Institute of Technology Jack Crowe American Sports Medicine Institute

ABSTRACT A significant strength of the current World-Wide-Web (Web) includes the striking similarity between "a document" and "an object", as defined by distributed object computing. In effect, the Web is a simpleminded distributed object system. It is generally recognized that current Web technologies are insufficient for supporting complex, enterprise-class applications such as distributed, network-based healthcare applications. Currently, several webbased technologies are under development to support the evolution of the commodity Web toward a true "object-oriented" paradigm. These technologies and the associated risk, utility, and scalability of this type of deployment in modern healthcare-related enterprises will be the focus of our report. The transfer, extension, and fusion of these technologies

Background1 The World-Wide-Web (Web) was originally designed as a tool for viewing remote, static documents. However, due to immense popularity and approachability, the Web has become an increasingly important factor in enterprise computing paradigms. These paradigms span the gamut from simple marketing and sales of products from "Mom & Pop" shops to sophisticated, business-class intranets [1]. The Web paradigm is also a very important factor in the design, deployment, maintenance, approachability, and utility of modern healthcare enterprises. 1

Due to the nature of Web technology, this document contains several acronyms. A glossary is provided at the end to define each acronym and briefly explain its meaning.

into the "next generation" Web, and the deployment of such technologies in the "next generation" Internet are discussed in detail. Based on these conclusions, a loose specification of technologies, system architectures, and applicable Web-based software paradigms will be provided which will be adequate for the healthcare enterprise, in general, and sport medicine in particular. A framework for software development based on domain information, software architecture, and component technology is proposed to deal with the software bottleneck facing organizations. In accomplishing the foregoing, we also propose that there should be partnerships established between researchers who can transfer cutting edge knowledge and practitioners who can adopt and implement such information.

The primary advantage of Web-based enterprise applications lies in the basic simplicity of the fundamental Web concept. Above all else, Webbased systems are self-documenting, simultaneously human and machine readable, and capable of aggregating several applications or data-sources into a single "document" with a commonly understood human interface [2]. Unfortunately, the simplicity has well-known drawbacks including: 1.

2.

3.

The fact that the underlying protocol is "stateless" (cookies are an add-on to simulate state), The structure of transactions (pages, etc.) is complicated by a forced intermingling between presentation and data-retrieval, and Input & output data and variables are kludged together with HTML forms, CGI interfaces,

0-7695-0493-0/00 $10.00 (c) 2000 IEEE

1

Proceedings of the 33rd Hawaii International Conference on System Sciences - 2000

clear-text variable/value pairs, and a terrific lack of "design-based" structure. A significant strength of the Web also includes the striking similarity between "a document" and "an object", as defined by distributed object computing. In effect, the Web is a simple-minded distributed object system. In this system, HTML pages are "objects", HTTP servers define (and invoke) "methods", and the identity & registration of an "object" is embodied in the URL of the document. It is generally recognized that HTML is insufficient for supporting complex, enterprise-class applications. Such applications include front-ends for sophisticated database access, context-specific rendering of data, mediation between unlike database servers, etc. Many of these applications, user-interactions, and performance/scalability requirements are directly applicable to distributed, network-based, healthcare applications. Consider for example the case of American Sports Medicine Institute (ASMI). The mission of ASMI is to improve the understanding, prevention, and treatment of sports-related injuries through research and technology-based education and information dissemination. In order to work towards that goal ASMI intends to establish SMX (Sports Medicine eXchange), which should provide the user with on demand information from sports related injuries to surgical procedures. While the user accesses provided information, “click through” opportunities for purchasing services and products will also be provided. Of course, the web site will be attractive featuring pleasing colors, easy-to-read fonts, and extensive use of key-word identification to enable a user-friendly atmosphere. The nature of information provided will be such that users will vary from member physicians, researchers, allied medical professionals, athletic trainers, athletes, sports fans, and general public. In order to accomplish such a feat ASMI chose to team up with researchers from University of Alabama at Birmingham. The transfer of knowledge from the university to ASMI is not only one of technology but also includes conceptual course content delivery mechanisms that was developed over the years. Researchers proposed the use of bite-size operational knowledge units (OKU’s) approach. This is an innovative method of decomposing technical material into electronically manageable “semantic” units called OKUs. An OKU is the least knowledge unit that an educator deems as an essential building block. These semantic units correspond to specific learning competencies. Our innovation is that an OKU is a

“process” not just a module in the classical sense. For example, specific information about the French revolution can be encapsulated into a module but this would not be an OKU since there is no process in this module. In a module without process users, either recalls the information or not, whereas, in an OKU the user has to perform a process. This approach is not only useful in developing formal distance learning courses but also essential in getting potential clients of ASMI to understand the intricate sports injury issues Thus SMX site will use software technologies that include embedding scripts and programs to (1) produce “active objects”, (2) involve the Extensible Markup Language (XML) to impart semantic structure to produce “class definitions”, state-based documents, and invocation-by-context, and (3) use URL-like naming conventions to define interfaces and produce fully-encapsulated, distributed objects. On the technological side of the problem, currently several web-based technologies are under development to support the evolution of the commodity Web toward a true "object-oriented" paradigm that fully supports the deployment, registration, and dynamic use of distributed objects. Many Web-related technologies have been fueled by vendor-specific hyperbole, rapid acceptance without longevity, or lack of widespread market adoption. These factors comprise significant risk in the deployment and maintenance of enterprise-dependent distributed systems. As such, an in-depth review of currently developing technologies, the forces driving the rapid development of related technologies, and the utility of this type of "open-source" deployment in modern healthcare-related enterprises will be the focus of our report. Some basic background on several of the newer technologies is presented below. These software technologies include: • •





Embedding scripts & programs in Web-based documents to produce "active objects", The development of XML and the Resource Description Framework, which impart some semantic structure into web-based documents to produce "class definitions", The association of behaviors with XML documents via the Document Object Model to produce state-based documents and invocationby-context, and The use of new, HTTP-like transport technologies, URL-like naming conventions, and

0-7695-0493-0/00 $10.00 (c) 2000 IEEE

2

Proceedings of the 33rd Hawaii International Conference on System Sciences - 2000

document definitions to define interfaces and produce fully encapsulated, distributed objects.

Active Objects Object technology is a particularly convenient way to add functionality to the Web because it allows Web clients and servers to access computing resources other than the simple, static HTML document. For example, Java applets can be easily added to Web pages for automatic execution when a page is retrieved by a web-browser. Once spawned, Java applets often form separate communication channels between the browser and server, interacting with other server-based objects using non-Web protocols. These protocols include IIOP, Java-RMI, or other application-specific protocols. Java is the bestknown and most object-oriented approach to such technology. There are actually multiple frameworks for embedding computational, data creation/distribution, and communication capabilities in Web pages. Many of these software technologies are in a rapid state of flux or development, and have associated strengths, weaknesses, and security considerations. Since "active objects" and executable content embedded in Web pages is crucial to optimizing the distributed computing paradigm of the "next generation" Web, a complete discussion of these technologies is absolutely essential to develop a proper perspective.

XML: Semantic Structure XML, with its capability to define customized markup languages and application-specific tags, has the potential to become the "next generation" data representation for the Web. The definition of XML specifies both XML document formats and XML Document Type Definitions (DTD), which define the structure and attributes of a document's "elements", or groups of related data. Unlike HTML, XML provides no facilities for specifying the presentation aspects of documents (font characteristics, color, etc.). Instead, XML relies on external "style sheet" definitions as well as multi-directional document links and namespace definitions to form a truly "distributed document" structure with applicationspecific elements. As such, an XML document can be composed of separate pieces or "entities" which can be referenced to external files or internal subsections. Because XML gives a stronger structure to Web information than its HTML predecessor, it is a key technology to increased support for Web-based dynamic enterprise-applications. Although XML doesn't address all possible Web-related requirements for data structure (i.e. it lacks certain types of support

for database access, object data types, and abstract metadata), it does provide a solid basic representation on which higher-level capabilities can be built. In addition to descending from SGML and currently undergoing standardization by the W3C, XML enjoys fairly robust industry support including industry giants such as Microsoft, IBM, Netscape, and the U.S. Department of Defense.

DOM: Interface Definition The Document Object Model (DOM) is complementary to XML in that it allows the association of specific behaviors with elements in a distributed document. The DOM defines an objectoriented programming interface for HTML and XML documents by representing each document as a hierarchy of objects. By using the well-defined and intuitive programming interface, scripts, applets, or other embedded programs can access and manipulate individual elements in a document. DOM allows fully dynamic content to be implemented under control of the client (Web browser), and so improves the performance and compatibility of distributed, Web-based applications. Additionally, the DOM programming interface can be exported to allow external applications access to the dynamic document. The DOM itself doesn't address database connectivity or application-level connections. Instead, DOM developers must use externally supplied mechanisms. The intent of XML and DOM technologies is to support more flexibility in associating behavior with Web-based content or subsections of content. However, numerous competing options exist for enabling much of these abilities by allowing users to construct object-like aggregates of behavior and data. A careful review of these technologies which contrasts their strengths, weaknesses, and projected potential for survival in the fast-pace of the Web is of some interest in all enterprises.

HTTP-NG and WIDL HTTP-NG is a comprehensive re-design of the Web's underlying transport protocol. It provides a framework for defining new applications based on a robust messaging system and a multiplexing transport layer. The architecture of HTTP-NG has three layers derived from the original definition of HTTP: the application, messaging, and transport layers. These functional layers allow HTTP-NG to seamlessly support "legacy" Web applications, improve the efficiency of transport performance, and simultaneously support multiple distributed-object computing paradigms.

0-7695-0493-0/00 $10.00 (c) 2000 IEEE

3

Proceedings of the 33rd Hawaii International Conference on System Sciences - 2000

A related technology, the Web Interface Definition Language (WIDL) seeks to make the development and performance of interchanges between Webbrowsers and Web-servers more efficient. The premise of WIDL is that automation of "routine" and "typical" Web interchanges can help to integrate Web-based information retrieval into existing applications. In addition to providing a mechanism to integrate Web resources into other frameworks, WIDL can also be useful in larger architectures where it may be useful to export a broad array of data sources and applications using XML. Applications developed for the "next generation" Web will rely on technologies such as HTTP-NG and WIDL to establish efficient environments for data transport and application development/maintenance. A thorough review of these technologies is useful in understanding their effect on distributed healthcare environments.

recent emergence of software components as represented by Sun’s JavaBeans, Microsoft’s COM, and the Object Management Group’s CORBA provides a promising model for the development of plug-and-play software. However, the focus of these software component technologies has been primarily limited to the wire level connectivity and integration of components [4]. A semantic model to support the development of software components that can be used for creating software systems has not yet been addressed properly. Nonetheless, software components do represent an evolutionary improvement on object, providing the basis for not only useful semantic representation during analysis and design but also a basis for developing software systems from building blocks that can be assembled from a library of components. This assumption is based on the future availability of a viable market for software components, which will be developed by third party vendors.

Problems Facing the Organization Demand for new software has been swelling at an accelerating pace, calling to task our existing pool of knowledge and skills and challenging our ability to innovate. In the last three decades, a steady decrease in the cost of hardware and a simultaneous increase in the speed of processors and networks have fueled demand for new and specialized software without corresponding qualitative and quantitative strides in software production technology. Current processes and methodologies for software development do not scale up well to adequately meet the challenges presented by the size and complexity of software. Yet, increasingly for an enterprise to compete, it must have the ability to develop and deploy software at a much faster pace than is currently possible. Software development can be viewed as the process of mapping the requirements of the customer into code that can run successfully on computers. There is a semantic gap between the abstract representation of the requirements, which describe the “what” aspect of the system, and the precise representation of the code, which describes the “how” aspect of the system [3]. Requirements elicitation, analysis, and design provide the intermediate steps in the development process allowing us to create a model at the end each phase that can serve as a the basis for developing the next phase. For example, when object-orientation is used during analysis, design, and implementation, it allows us to develop objectoriented models at each phase of the development. However, object-orientation has had limited success and proved effective in some application areas such as the graphical user interface (GUI). The more

The bottleneck in software development has had a significant impact on the enterprise and placed constraining limitations on the ability of the enterprise to adapt quickly to changing market conditions. If information is becoming the lifeblood of the enterprise, then the software systems serve as the arteries that carry the blood to the enterprise’s vital organs. The accessibility, manipulation, and sharing of information within the enterprise and along the supply chain are becoming the vital link that can determine if an organization has the resources to survive in an increasingly competitive global market. In order to meet challenges in the future, the enterprise can ill afford to have its software built from the ground up. Nor is buying offthe-shelf software products anymore adequate, since it fails to provide the enterprise the competitive edge within its industry. In order to alleviate the problem of the software bottleneck, it should possible for organizations to: •

Shorten the cycle of software development



Allow a greater input by the user in the final assembly of the software.

In addition, the above actions must be achieved under the following constraints: •

Ensure interoperability of new software systems with other existing ones, not as an afterthought but as an integral part of its design.

0-7695-0493-0/00 $10.00 (c) 2000 IEEE

4

Proceedings of the 33rd Hawaii International Conference on System Sciences - 2000



Provide a degree of customization that allows a user to modify the system functionality and performance within predefined parameters.

industrial, professional societies, and academic points of view, as reported by Glass and Vessey [5].

Architecture-Based Approach

A Domain-Based Approach to Software Development Market conditions organizations to:

are

increasingly

forcing

a.

Achieve a greater degree of efficiency by integrating the various systems that support the business activities, and

b.

Use the Internet as part of the infrastructure to exploit the growing business opportunities presented by e-commerce.

We need to define an architecture that is based on “plug”-able components that can address the needs of an organization. The functionality of the system can change on demand through the incremental deployment of individual components.

Domain-Based Approach Separation of concern is an effective way to deal with complexity in general, and can provide a reasonable alternative to addressing the software bottleneck problem. The merits of the approach come from the fact that whenever we reach a deep understanding of any given problem area we develop the ability to define solution artifacts that can be reused over many instances. We can identify a domain in two fundamental ways: we can define it by identifying various types of applications, such as inventory or cash management. Alternatively, we can identify individual industries that share common characteristics in the products or services they deliver, such as insurance or investment banking. In either case, there has been a fundamental shift in the way we approach software development. Traditionally, software development has neglected to focus on the properties of the domain with which it dealt. Rather, it has assumed each application as being one of a kind self-contained system. It is now becoming obvious that we need to exploit common properties within related systems in order to increase the amount of reuse that we can bring to bear on a problem. This will not only reduce cost of software, but also shorten its development cycle. There have been many efforts to create taxonomies from

The solution to a software problem starts with the design of the system. At the architectural level, we identify the major components of the system along with the communication and control links between them. System designers are increasingly grasping the importance of design patterns within the overall software development process. Design patterns are being recognized and documented in order to leverage software reuse at the design level. Many of these design patterns are targeted towards low-level design [6]. While this is a worthwhile effort, it is equally important to recognize and document design patterns at the architectural level within the context of a specific domain as defined in the previous paragraph. The advantage of having an architectural description that can model a domain is that it will widen the scope of reusability by a significant factor. Such architectural models would identify the specifications of reusable components along with their interaction. Microsoft Word and WordPerfect are examples of applications with similar functions that could share commonalities at the architectural level. Instead, one could begin with an architectural model specification for a domain and proceed to instantiate customized designs of the application. The Department of Defense has used a similar approach to study the benefits of reusability within the context of families of applications [7].

Component-Based Approach This third approach can be considered as a natural extension to the two approaches discussed above. The purpose of domain analysis is to distill useful information that encapsulates characteristics of the domain. From this information one may infer the type of architectural design most suitable to implement the desired application. The specification of the components can be derived from the architecture and domain information. In order to define the specification of the components one needs to define the semantics as well as the interface of the components. The semantics are derived from the domain characteristics while the interface is a function of the design architecture specifications. Together, they provide a complete model for components that can support a third party driven market. For example, in the GUI domain, we have reached a thorough understanding of the characteristics of the domain that allow us to define

0-7695-0493-0/00 $10.00 (c) 2000 IEEE

5

Proceedings of the 33rd Hawaii International Conference on System Sciences - 2000

the necessary components that are part of the architecture applied within the user interface design of most applications. One such use is defined by Microsoft Active-X controls that allow GUI component developers to produce the necessary components and for GUI developers to use these components in their design.

central concern from several standpoints. Capabilities and technologies that are likely to be pre-imminent in the distributed healthcare enterprise include 1. 2. 3.

Summary And Conclusions The Web has evolved into a global environment for delivering applications and services, from small and simple to extremely large, distributed and complex. While the popularity of information delivery via the ubiquitous Web paradigm have led to countless HTML-based applications, the development of truly functional and extensible distributed-object computing via Web mechanisms is still in its infancy. The applicability of this distributed computing paradigm to the practice of healthcare delivery has been clear for some time. Unfortunately, the Web implementation model doesn’t relate adequately to state-of-the-art software development models. As a result, the poor structural support for maintenance, re-use, and evolution of Web-based applications produces nightmarish requirements for Web page updates, Web site redesigns, and ad-hoc userinterfaces. The risks associated with utility, maintainability, and scalability of this type of deployment in the modern healthcare enterprise is a

4.

Deployment of electronic patient records, Deployment of advanced network services to enable information distribution, Remote or "virtual" collaboration between specialists and/or technicians, and Simultaneous access to patient & disease information by healthcare providers and users.

Concerns associated with these technologies include 1. 2. 3. 4. 5.

Implementing appropriate, cost-effective technologies, Following sound business practices, Ensuring the accuracy and timeliness of distributed information, Adequate capabilities for policy & security enforcement, and "Future-proofing".

These issues, combined with the natural utility of the Web paradigm for "next generation" healthcare delivery and the key role of computers, software, and robust software deployment in modern enterprises demands a thorough evaluation of related technologies.

Glossary • •





HTML - HyperText Markup Language. The syntax of "tags" and basic document structure that defines current-generation Web pages. HTTP - HyperText Transport Protocol. The protocol (handshake) exchanged between webbrowser and web-server by which documents are retrieved for viewing at the browser and data is uploaded to the server for processing. URL - Universal Resource Locator. The "address" of a web page, such as "www.xx.com/page.html". The URL can also be considered to include the protocol specifier, such as "http://" or "ftp://", which prepends the page location. CGI - the Common Gateway Interface. The technique by which a web-server passes data back and forth between the web-browser and other programs located on the server. CGI is the initial mechanism by which "static" pages became somewhat "dynamic".









IIOP - the Internet Inter-ORB Protocol specified by the Object Management Group (OMG). An ORB (Object Request Broker) is an abstraction also defined by the OMG, which acts as a "matchmaker" between requests for data or services (issued by a user or client object) and the distributed objects which can satisfy those requests. Java-RMI - the Remote Method Invocation specification for Java. A means by which Java programs or applets can invoke procedures on remote computers. SGML - the Standard Generalized Markup Language, ISO standard 1986:8879. HTML is commonly called an "application" of SGML, since it defines a fixed set of elements and attributes. XML - the Extensible Markup Language specified by the World-Wide-Web Consortium (W3C). XML defines a data format for

0-7695-0493-0/00 $10.00 (c) 2000 IEEE

6

Proceedings of the 33rd Hawaii International Conference on System Sciences - 2000



structured document interchange on the Web, and is a simple subset SGML. DOM - the Document Object Model. A language-neutral, platform-neutral, standardized

interface for accessing, navigating, and manipulating HTML and XML documents or portions thereof.

References: 1. 2.

3. 4. 5. 6. 7.

Lanka, S., Tanik, M., and Green, D., “Design of a Distance Education System,” Proceedings of IEEE Southeastcon ’99, March 28, 1999, Lexington, Kentucky, pp. 129-134. Dogru, A., Tanik, M., Kurfess, F., Healey, M., and Jololian, L., “Green Manufacturing of Ammunition Through Knowledge Management with Distributed Access,” Proceedings of the 32nd Hawaii International Conference on Sysytem Sciences (HICSS-32), January 5-8, 1999, Maui, Hawaii (CD-ROM), Copyright 1999 by IEEE, Inc., 10 pages. Davis, A., “Software Requirements: Objects, Functions, and States,” Prentice Hall, 1993. Szyperski, C., “Component Software: Beyond Object-Oriented Programming,” Addison-Wesley, and ACM Press Books, 1998. Glass, R.L. and Vessey, I., “Contemporary Application-Domain Taxonomies,” IEEE Software, Vol. 12, No. 4, July 1995, pp. 63-76. Gamma, E., Helm, R., Johnson, R., and Vlissides, J., “Design Patterns: Abstraction and Reuse of Object-Oriented Design,” ECOOP ’93 proceedings. Mettala, E. and Graham, M., “The Domain Specific Software Architecture Program,” Proceedings of the DARPA Software Technology Conference, Los Angeles, California, April 28-30, 1992, pp. 204-210.

0-7695-0493-0/00 $10.00 (c) 2000 IEEE

7

Suggest Documents