210 likes | 316 Views
DBLife Web Service. CS511 Project Presentation: Dec-08-2005 Jesus Alvarez Jianwen Lai James Lin Long Vu. J 3 L. Agenda. Introduction Web DBLife Service Java GUI Client Web Site Summary Future work. Introduction. What is a Web Service (WS)?
E N D
DBLife Web Service CS511 Project Presentation: Dec-08-2005 Jesus AlvarezJianwen LaiJames LinLong Vu J3L
Agenda • Introduction • Web DBLife Service • Java GUI Client • Web Site • Summary • Future work
Introduction • What is a Web Service (WS)? • A host providing some sort of service (data, data processing, etc) available to the public • Standards used • Web Services Protocol Stack • XML (SOAP, XML-RPC) • WSDL • UDDI • In Java context (J2EE): • J2EE is a platform that allows developers to easily deploy web services. It provides much of the low level functionality (transaction management, concurrency management, security, resource/lifecycle management, lookup services, persistence), so developers can focus on domain-specific implementation. • WS-Security (OASIS) • WS-Reliability (OASIS) • WS-Management
Introduction • Advantages • Big step towards data integration • Uniform standard (abstraction) • Zero-assumption • Dynamically defined services • Dynamic discovery of new services • Easily allow software and service from different companies/locations • Interoperability various applications on disparate platforms • Reuse of services and components within an infrastructure • By utilizing HTTP, can work through firewall • Main problems • Security • Transaction management • Performance
Introduction • Java-based architecture http://www.onjava.com/pub/a/onjava/2003/08/27/cocktails.html?page=2
Introduction • Currently, main DBLife interface is via web CGI scripts • DBLife community includes application developers • Web services provides a standardized external API that allows programmatic access to the DBLife functions using standard web protocols • SOAP based on XML via an HTTP transport • Java 2 Enterprise Edition (J2EE) • Java and C# sample clients can be used as a template to integrate DBLife functions to desktop or remote server applications
Introduction • J2EE provides application server and extensive framework for XML processing, servlets and web services • Extensible Markup Language • Web Applications • Web Services Support / WSDL Standard Format • UDDI and ebXML Standard Formats • HTTP-SOAP Transport Protocol • J2EE includes a built in application server
Introduction • SOAP-based web services offer service metadata in their WSDL file and method invocation with XML requests and responses
Web Service • Implemented on JBoss (free, open source J2EE server) • Hosted on CSIL Linux server used by CS527 • Uses a local DBLife installation limited in search scope to UIUC entities due to disk space constraints • Operates on DBLife XML output files
Web Service • DBLife EJB (Enterprise Java Bean) and Endpoint • Exposes selected DBLife methods as Web Services • getEntity(), getMentions(), getMentionURL(), getVersion() • Acts as a server-side stub • WSDL (Web Services Description Language) Definition • XML file that describes available methods and interfaces on web service • Retrievable from server URL for dynamic updates • http://csil-linux46.cs.uiuc.edu:8380/dblifews-ejb/DBLife?wsdl
Web Service • Built with JAX-RPC (Java API for XML-based RPC) • RPC requests and responses are represented using SOAP • A single URL acts as an endpoint for all web services on server; each SOAP endpoint can receive different requests/method calls • Uses UDDI (Universal Description, Discovery and Integration) registry • Enable applications to easily find Web services over the Internet • Web service endpoints and clients use JAX-RPC • Packaging and Deployment • Uses ‘ant’ to build and deploy automatically • Single JAR file on JBoss server directory
Java GUI Client • Serves as sample on how to integrate Java apps to the web service • Allows users to access DBLife from their desktops or from other J2EE servers.
Web Site • Integrates web service documentation, references and downloadable files.
Demo • Show demo :) • DBLife Web Services • getEntity • getMentionURL • getMentions • getVersion
Summary • Our project is an implementation of a Web Service for DBLife • Our goal is to make people more aware of what WS’s can do, and how it attempts to solve part of the data integration problem
Future Work • Demonstrate the cross-compatibility of WS’s: • Web-based WS client • C++/C# client • Extend services • Provide ability to modify DBLife data • More complex queries
References • Sun J2EE 1.4 Tutorial • http://java.sun.com/j2ee/1.4/docs/tutorial/doc/ • Web Services Tutorial • http://java.sun.com/webservices/docs/1.6/tutorial/doc/ The team would like to thank Paul Adamczyk, CS527 TA, for generously allowing us to use the csil-linux46 server devoted to Java development.