250 likes | 396 Views
Web Technologies and Database Administration Systems. John Rowan. CS 8990, Summer 2004. The Internet & Information Sharing The emergence of the web as a way of sharing information has made it one of the fastest growing technologies.
E N D
Web Technologies and Database Administration Systems John Rowan CS 8990, Summer 2004
The Internet & Information Sharing The emergence of the web as a way of sharing information has made it one of the fastest growing technologies. It’s platform-independence make it appealing for applications and sharing data. The Database Management System (DBMS) has become the backbone for servicing data dynamically.
The Internet: Brief History • Started in the late 60s early 70s as a project called Advanced Research Projects Agency Networks (ARPANET). • - U.S. Department of Defense • Uses suite of package switching called TCP/IP or Transmission Control Protocol and Internet Protocol in 1983
The Internet: Brief History (cont) Has grown to support over 650 million users in over 100 countries. It is regulated bye the Internet Engineering Task Force or IETF. - Responsible for promoting standards - Harald T. Alvestrand is chairman Supports numerous protocols (TCP, FTP, SSH, PPP)
Web/DBMS Integration Considerations • The ability to access valuable customer data in a secure manner. • Data and vendor independent connectivity to allow freedom of choice in the selection of the DBMS now and in the future. • The ability to interface to the database independent of any proprietary web browser or web server.
Web/DBMS Integration Considerations (cont) • A connectivity solution that takes advantage of all the features of an organization’s DBMS. • An open-architecture approach to allow interoperability with a variety of systems and technologies; for example, support for - different web servers; • Microsoft’s (Distributed) Common Object Model (DCOM/COM) • CORBA/IIOP (Internet Inter-ORB protocol) • Java/RMI (Remote Method Invocation).
Web/DBMS Integration Considerations (cont) • A cost-effective solution that allows for scalability, growth, and changes in strategic directions, and helps reduce the costs of developing and maintaining applications. • Support for transactions that span multiple HTTP requests. • Support for session and applications based authentication.
Web/DBMS Integration Considerations (cont) • Acceptable performance. • Minimal administration overhead. • A set of high-level productivity tools to allow applications to be developed, maintained, and deployed with relative ease and speed. • Distributed applications • The integration of legacy applications into new systems. • The use of different programming languages to write new components.
Current Web Application Communication Standards • Common Object Request Broker (CORBA) • Distributed Component Object Model (DCOM) • Simple Object Access Protocol (SOAP) • Remote Method Invocation (RMI)
CORBA • A CORBA component is an object. • A CORBA class implements one or more CORBA interfaces • The execution locations is transparent to the client. • The server process advertises one or more named objects. The client process has no named objects.
CORBA (cont) • Client access remote objects by the way of references that have the same interface as remote objects. They forward all method invocations to the server for remote object execution. • The CORBA ORB runs within every CORBA process for communicating with other ORBS. • The CORBA ORB acts like a message bus between objects.
CORBA (cont) • The ORBs are able to communicate with each other by the use of a protocol known as the General Inter-Orb Protocol. • CORBA uses an Interface Definition Language (IDL) which enables the development of language-neutral interfaces that CORBA objects implements. • Language-specific compilers translate IDL into language-specific codes that are used to implement those interfaces.
Remote Method Invocation (RMI) • It is used to access remote objects. • Java to Java only. • Uses the client-server protocol. • It is transparent and lightweight.
RMI (cont) • Remote References, Stubs, Skeletons • Remote references invoked on client exactly like local object references. • Remote interfaces declare exposed methods. • Methods are implemented on the client. • Stubs are used on the client and pretends to be a remote object. • Skeleton lives on the server and it receives requests from the stub. The skeleton communicates with the remote object and delivers response to the server.
Simple Object Access Protocol • Lightweight-protocol used for exchange of messages in a decentralized, distributed environment. • Used for Remote Procedure Calls (RPC) • W3C defines the use of SOAP with XML as payload and HTTP as transport.
SOAP Components • Envelope – Top element of the XML document representing the message. • Header – Optional layer that determines how a recipient of a SOAP message should process the message. Adds features to the SOAP message such as authentication, transaction management, message routing … etc. • Body – Used for RPC calls and error reporting. • Soap Fault – Used to carry error or status information within the SOAP Message.
Advantages and Disadvantages • of SOAP, CORBA, and RMI • Advantages - SOAP • SOAP uses a widely known protocol for transport (HTTP). It is proven to be scalable. • It has a wide remote system interoperability. • Flexible for growth due to XML use. • Disadvantages – SOAP • Parsing of SOAP packet and mapping to objects reduces performance. • Doesn’t implement security because it is a wire protocol (relies on HTTP).
Advantages and Disadvantages • of SOAP, CORBA, and RMI • Advantages – CORBA • Multi-language support. • Can start up more then one service for load balancing. • Different ORBs can communicate. • Easy to extend new languages. • Open standard developed by international consortium.
Advantages and Disadvantages • of SOAP, CORBA, and RMI • Disadvantages – CORBA • Performance can be slow. • Implementations are still continually evolving. • Many ORBs do not provide full functionality of CORBA specifications. • Limited mainstream acceptance.
Advantages and Disadvantages • of SOAP, CORBA, and RMI • Advantages – RMI • Simple implementation. • No IDL. • Can pass and return existing Java objects. • Comes with JDK – No ORBs to buy. • Java is free.
Advantages and Disadvantages • of SOAP, CORBA, and RMI • Disadvantages – RMI • Not full-featured middleware. • No mechanism for object description. • No language independence.
Other Web Technologies • Java Servlets & Java Server Pages • Common Gateway Interface (CGI) • Active Server Pages (ASP) • Perl • PHP • JavaScript & VBScript