25
CS 8630 Database Administration, John Rowan Web Technologies and Database Administration Systems John Rowan CS 8990, Summer 2004

JohnRowan.ppt

Embed Size (px)

Citation preview

Page 1: JohnRowan.ppt

CS 8630 Database Administration, John Rowan

Web Technologies and Database Administration Systems

John Rowan

CS 8990, Summer 2004

Page 2: JohnRowan.ppt

CS 8630 Database Administration, John Rowan

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.

Page 3: JohnRowan.ppt

CS 8630 Database Administration, John Rowan

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

Page 4: JohnRowan.ppt

CS 8630 Database Administration, John Rowan

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)

Page 5: JohnRowan.ppt

CS 8630 Database Administration, John Rowan

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.

Page 6: JohnRowan.ppt

CS 8630 Database Administration, John Rowan

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).

Page 7: JohnRowan.ppt

CS 8630 Database Administration, John Rowan

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.

Page 8: JohnRowan.ppt

CS 8630 Database Administration, John Rowan

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.

Page 9: JohnRowan.ppt

CS 8630 Database Administration, John Rowan

Current Web Application Communication Standards

• Common Object Request Broker (CORBA)• Distributed Component Object Model

(DCOM)• Simple Object Access Protocol (SOAP)• Remote Method Invocation (RMI)

Page 10: JohnRowan.ppt

CS 8630 Database Administration, John Rowan

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.

Page 11: JohnRowan.ppt

CS 8630 Database Administration, John Rowan

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.

Page 12: JohnRowan.ppt

CS 8630 Database Administration, John Rowan

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.

Page 13: JohnRowan.ppt

CS 8630 Database Administration, John Rowan

CORBA Illustration

Page 14: JohnRowan.ppt

CS 8630 Database Administration, John Rowan

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.

Page 15: JohnRowan.ppt

CS 8630 Database Administration, John Rowan

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.

Page 16: JohnRowan.ppt

CS 8630 Database Administration, John Rowan

RMI Illustration

Page 17: JohnRowan.ppt

CS 8630 Database Administration, John Rowan

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.

Page 18: JohnRowan.ppt

CS 8630 Database Administration, John Rowan

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.

Page 19: JohnRowan.ppt

CS 8630 Database Administration, John Rowan

SOAP Components

Page 20: JohnRowan.ppt

CS 8630 Database Administration, John Rowan

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).

Page 21: JohnRowan.ppt

CS 8630 Database Administration, John Rowan

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.

Page 22: JohnRowan.ppt

CS 8630 Database Administration, John Rowan

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.

Page 23: JohnRowan.ppt

CS 8630 Database Administration, John Rowan

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.

Page 24: JohnRowan.ppt

CS 8630 Database Administration, John Rowan

Advantages and Disadvantages of SOAP, CORBA, and RMI

Disadvantages – RMI• Not full-featured middleware.• No mechanism for object description.• No language independence.

Page 25: JohnRowan.ppt

CS 8630 Database Administration, John Rowan

Other Web Technologies

• Java Servlets & Java Server Pages• Common Gateway Interface (CGI)• Active Server Pages (ASP)• Perl• PHP• JavaScript & VBScript