Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide


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