Web Service-Oriented Architecture for Pharmacy Management in Mobile Enviroments
全文
(2) Int. Computer Symposium, Dec. 15-17, 2004, Taipei, Taiwan. WSDL describes what a particular Web service can do, where it resides, and how it can be invoked. WSDL is in a standardized XML format. SOAP is a general-purpose protocol for sending XML messages between service endpoints over any transport layer. Most commonly used transport layer is HTTP. However, SMTP (Simple Mail Transport Protocol) and JMS (Java Messaging Service) can also be used. UDDI is a registry for connecting providers and users of Web services. A provider uses the UDDI to publish API to register a Web service. A user utilizes the UDDI to inquire API for locating Web services that satisfy a certain criteria. These standards provide a common and interoperable approach for defining, publishing, and using Web services. As a result, Web applications have evolved from simple applications accessed through an intranet to enterprise applications with Web service-oriented architectures.. but also efficiency and cost-effectiveness for parties involved. To address this critical need, our research has focused on development of a Web service-based architecture that supports access of authorized users to pharmacy management system via mobile devices and Web browsers. Web services are platform-, language-, and location-independent. As long as a Web service is publicly available, it can be accessed by authorized applications. Web services offer attractive features, such as extensive reusability and interoperability between various software applications running on different platforms [2]. Web-based applications have moved away from the data-centric nature of client/server applications towards a service-oriented architecture [2]. An enterprise application must have a standard form of communications, a common data representation and data exchange mechanism, standard meta-language to describe its services, and a mechanism to register and locate other Web-based applications. Web services support interoperable machine-tomachine interactions over the network. The interoperability among Web services is provided by the following XML-based open standards: Web Services Description Language (WSDL), Simple Object Access Protocol (SOAP), and Universal Description Discovery and Integration (UDDI). The eXtensible Markup Language (XML) is a crossplatform, extensible and text-based standard for representing data. All forms of communications in Web services utilize XML format.. 3. The Architecture Figure 1 illustrates a use case model for pharmacy management system. As shown in Figure 1, the current system has four main types of users: pharmacy administrators, physicians, patients and pharmacists. A user type determines the set of operations that a user is allowed to perform on the pharmacy management system. The system allows an authorized user to login to the system, look up medication information, and update his/her profile (e.g. username, password, contact information, and email address).. View Patient Info. Physician. Write Prescription. View Drug Info. Request Refill. Edit Profile View Prescription History. Patient. Q&A Approve Membership. Process Prescription Admin. Place Inventory Order. Update Inventory. View User Info. Pharmacist. View Physician Info. Figure 1. A Use-case Model for Pharmacy Management System. 280.
(3) Int. Computer Symposium, Dec. 15-17, 2004, Taipei, Taiwan.. The units in the new architecture are designed in the form of Web services and software components. The new architecture supports two types of clients: (1) Web Browser clients and (2) J2ME clients. To support mobile devices, we have developed J2ME Web services. Java 2 Platform, Micro Edition (J2ME) specifications define a set of APIs and runtime environments for small embedded devices such as PDAs and Java-enabled cell phones. J2ME provides flexible user interfaces, robust security model, and a wide range of network protocols. The J2ME platform is deployed on various devices such as Java-enabled cell phone and PDAs. Although the J2ME and Web browser clients may access different servlets and JSP components in a Web container, they often indirectly use the same EJB components for application logic and persistent data. J2ME Web Services Specification (JSR-172) defines a method for the use of Web services on J2ME devices [3]. It also allows developing Web services as J2ME clients. The two main components of the specification are compact versions of the Java API for XML parsing (JAXP) and JAX-RPC, which defines how J2ME devices can execute remote procedure calls.. The system also allows: an authorized pharmacy administrator to login to the system, update membership list, search for a member on the membership list, and view contact information; • an authorized physicians to search and view a patient’s medical history, prescribe medications and authorize refills; • an authorized patient to request a refill of his/her prescription(s), view his/her prescription history and corresponding medication information, and communicate with a pharmacist in charge of processing his/her request; and • an authorized pharmacist to view prescription orders, process prescription orders, search and view patient’s prescription history (when authorized), send a notification to each patient and prescribing physician (as required) once the order is processed, and update the pharmacy inventory. We have designed the architecture with four major units; each performing one of the following key functions: prescription processing, medication knowledge-base management, pharmacy inventory management, and billing. •. :System. : physician. : patient. 1: writePrescription(). 2: display description writer form. 3: enter info for the description including drug name, sig, and refills allowed. 4: enter physician's username/password to confirm the description. 5: submit(). 6: display confirmation screen. 7: sign(). 8: display prescription info confirmation. 9: email the prescription to physician. 10: email the prescription to the patient. 11: place prescription order in the Process Description queue. Figure 2. A Sequence Diagram for Prescription Writing. 281.
(4) Int. Computer Symposium, Dec. 15-17, 2004, Taipei, Taiwan. •. Figure 3 shows Web service-oriented architecture with both J2ME and Web browser clients. As shown in Figure 3, • J2ME clients and Web browser clients are located in client tier. • Both J2ME clients and Web browser clients may access different Java servlets and JavaServer Pages (JSP) components in the Web container via a secure HTTP. The Web container is referred to as the “View”.. Client Tier. • •. Middle Tier. Web Container. EJB Container. HTTP. Database Server. Web Browser Clients. EJB. EJB EJB HTTP. JDBC Java Connector. Servlet. Web Browsers. EIS Tier. J2EE Application Server. J2ME Clients. MIDlet. The EJB container is a “Controller”. It is located in the application layer and directs the workflow. The Database server, located in the domain layer, is referred to as “Model”. The servlets and EJB components may use different APIs to access enterprise information and services. For example, they use the JDBC API to access a relational database, or the JavaMail API to send an e-mail to a user.. JSP. EJB. EJB. Servlet. Java Web Services JMS. MySQL. Java Mail. JNDI CORBA. Figure 3. The Web-Service Architecture for both J2ME and Web Browser Clients. •. Figure 4 illustrates the high-level architecture of a J2ME-based mobile application. As shown in Figure 4, • The client tier consists of a MIDlet, which provides a user interface on a mobile device. MIDlet communicates with a Java servlet, usually via HTTP, over a secure channel when necessary.. •. 282. The servlet in the Web tier interprets a client’s request received from MIDlet, and dispatches the request to EJB components. Once the client’s request is fulfilled, the servlet generates a response to MIDlet. In the EJB tier, the EJB components encapsulate the application logic. Both servlets and EJB.
(5) Int. Computer Symposium, Dec. 15-17, 2004, Taipei, Taiwan.. •. develop Web services through the JAX-RPC API, which allows the development of service endpoints based on SOAP. With J2EE, developing Web services does not require extensive knowledge of XML-based standards and protocols such as WSDL and SOAP. The mapping between Java language and such XML-based standards is handled by the Web service runtime system. J2EE platform also support portability, scalability and reliability. As shown in Figure 3, we have used Java Server Pages (JSP) technology. JSPs are server side modules that execute on a JSP-enabled Web server such as Apache Tomcat server (http://jakarta.apache.org/tomcat/). The JSPs produce and display dynamic HTML content viewable on a Web browser. JSPs can also act as a client to create Java objects, EJB components or Web services. We have used JavaScript for validation on various JSPs throughout the application. JavaScript is a Web scripting language allowing Web authors to create dynamic pages that react to user interactions. JavaScript functions are embedded in the HTML produced by the JSPs. The key difference between JavaScript and JSPs is that the browser executes JavaScript. JavaScript is used for various operations, including event handling and client side validation of user forms. We have used webMethods Glue for creating and deploying applications with Web services, JSPs and servlets. It makes it easy to publish a Java object or EJB as a Web service. It includes a compact, highperformance implementation of important standards such as HTTP, Servlets, XML, SOAP, WSDL and UDDI. It interoperates with Microsoft .NET, IBM WebSphere, BEA WebLogic, Apache Axis and other Web service platforms. In this project, the Web services call Java object methods that access the database and send emails. In the enterprise information systems (EIS Tier), we have used MySQL database server, the popular open source database. Web services and EJB components, located in middle tier, access MySQL database using a datasource. The datasource supports portability while improving performance. In addition, MySQL supports ANSI SQL syntax and query caching. In order for the Web services and Java objects to interact with MySQL database, MySQL Connector/ODBC is used. MySQL Connector/ODBC allows database connections using the ODBC database API. Figures 5-8 illustrate some of the results of our prototype development.. components are located on a J2EE application server. The Enterprise Information Systems (EIS) tier supports access to the application database through the JDBC API.. Figure 4. J2ME Mobile Application Architecture. 4. Prototype Development We have developed a prototype of the system with the Web service-oriented architecture presented in the previous section, J2ME and Java 2 Platform, Enterprise Edition (J2EE). J2EE version 1.4 has evolved for developing Web services [4]. The J2EE platform is being used to. 283.
(6) Int. Computer Symposium, Dec. 15-17, 2004, Taipei, Taiwan.. Figure 5. Screenshot of a Physician Writing a Prescription. Figure 7. Ordering a Prescription on a Cell Phone. Figure 6. Viewing Prescription History on a Cell Phone. 284.
(7) Int. Computer Symposium, Dec. 15-17, 2004, Taipei, Taiwan. demonstration prototype with JADE-LEAP. JADELEAP is the combination of Lightweight Extensible Agent Platform (LEAP) [12] and Java Agent DEvelopment Framework (JADE) [13]. Our planned research project is directed toward the pervasive computing world--next-generation computing.. References [1]. [2]. [3]. [4] [5]. [6] Figure 8. Refill Request Confirmation on a Cell Phone. [7]. 5. Final Remarks [8] Our research has addressed the need for new architecture to support access of authorized pharmacy system administrators, physicians, patients, and pharmacists to pharmacy through both Web browsers and mobile devices. In this project, we have developed a new Web service-oriented architecture for pharmacy management systems in mobile environments. We have also developed a demonstration prototype of a pharmacy management system using the new Web service-oriented architecture. The results of the prototype evaluation have been promising. Our research results can be used to develop Web-based enterprise systems for mobile environments in some other application domains, not necessarily in pharmacy management. In the next phase of this project led by the author, we plan to enhance the adaptability and flexibility of the system using agent components [5-11]. Our enhancement plan includes extending the research using mobile agent components and developing a. [9]. [10] [11]. [12] [13]. 285. Wireless Market Shows Signs of Life in Health Care. Retrieved March 2004, http://www.ihealthbeat.org/index.cfm?Action= dspItem&itemID=101508. M. Chitnis, M., Tiwari, P., & Ananthamurthy, L. (n.d.) Introduction to Web Services Part 2: Architecture. Retrieved March 2004 from http://www.developer.com/services/article.php/ 1495091. Designing Wireless Clients for Enterprise Applications with Java Technology, 2003.http://java.sun.com/blueprints/earlyaccess /wireless/designing/designing.pdf. K. Topley, Java Web Services in a Nutshell, O’Reilly & Associates, 2003. G. Pour, “Multi-Agent System Architecture for Quality Control: Moving Toward Autonomic Systems for E-Commerce,” E-Commerce Series, 2004. G. Pour, “Web-Based Multi-Agent Architecture for Distributed Collaborative Software Engineering,” Applied Computing Series, 2004. M. Griss and G. Pour, “Accelerating Development with Agent Components,” Cover feature article, IEEE Computer, Vol. 34, No. 5, 2001. G. Pour, “Multi-Agent Autonomic Architecture for Water Quality Control,” Intelligent Agents, Web Technologies and Internet Commerce, 2004. G. Pour and X. Wei, “A Multi-Agent Framework to Support Web-Based Collaborative Environment for Drug Prescription Management,” Intelligent Agents, Web Technologies and Internet Commerce, 2004. G. Pour, “Internet-Based Multi-Agent Architecture for Service Delivery,” Internet Computing Series, 2004. G. Pour, F. C. Yao and C.C. Yu, “A Mobile Agent-Based Architecture for Mobile Systems Supporting Distributed Software Project Management,” IEEE SoftCOM, 2004. http://leap.crm-paris.com/. Bellifemine, F. et al, 1999. JADE: A FIPACompliant agent framework. Proc. Practical Applications of Intelligent Agents and MultiAgents. pp. 97-108..
(8)
數據
相關文件
• Describe the role and importance of the following key business functions: human resources management, financial management, operations management, marketing management, information
Provide all public sector schools with Wi-Fi coverage to enhance learning through the use of mobile computing devices, in preparation for the launch of the fourth IT in
• A simple look at a website can reveal many potential web accessibility issues for persons with disabilities. Can the content be
• Information retrieval : Implementing and Evaluating Search Engines, by Stefan Büttcher, Charles L.A.
The client’s web browser sends a request to the server for a web page that runs a Java servlet.
Internal service Quality, Customer and Job Satisfaction: Linkages and Implications for Management.. Putting the Service-Profit Chain
This shows that service quality, perceived value, DM advertising, customer satisfaction and loyalty have become important issues on business management.. Therefore, the
The main purpose of this paper is using Java language with object-oriented and cross platform characteristics and Macromedia Dreamweaver MX to establish a JSP web site with