Advanced DBMS - Concepts and Architectures for Computer Science and MCA students

Write short notes on:
a) N-tier architecture

a) N-tier architecture
  • The N- tier architecture application is distributed among three or more separate computers in a distributed network.
  • The common form of N-tier is the 3-tier application, where the user interface programming is in the users computer and the business logic is in a centralized computer and the data which is needed in the computer that manages the database.
  • It is implied on the client/server program model.
  • If there are more than three distribution levels or tiers involved the additional tiers are usually associated with the business logic tier.
  • It is also referred to as the pulling apart of an application into separate layers or finer grains.
  • One of the best example of this architecture in the web applications is the shopping cart web application.
  • Here the client tier interacts with the user via the GUIs with the application and the application server.
  • In most of the web applications the client is a web browser.
  • The integration tier allows the N-tier architecture to be vendor independent.
  • The business tier is also considered as the integration tier.
  • The encapsulation will allow the application to communicate with the business tier in a way that all the nodes are intelligible.
  • The final application tier is the data tier.
  • It mostly consists of the database servers. The data is kept neutral and independent from the application servers or the business logic.
  • If the data has its own tier it improves the scalability and the performance and as it grows it easily moves to another powerful machine.
Benefits of N-Tier Architecture
  • It helps in improving the scalability and supports the cost-efficient application building.
  • It helps in making the applications more readable and reusable.
  • The applications that are made are robust as they have no single point of failure. The tiers function with relative independence. Reusability is important for the web applications.
  • Authentication and authorization is provided for the security. This allows the web server to restrict the user access which is based on the pre-determined criteria.
  • It helps the developers to build the web applications as it allows the developers to apply their specific skill to that part of a program which best suits their skill set.
  • SOAP, Simple Object Access Protocol is a communication protocol, a way to structure data before transmitting it, is based on XML standard. It is developed to allow communication between applications of different platforms and programming languages via Internet.
  • It can use range of protocols such as HTTP, FTP, SMTP, Post office protocol 3(POP3) to carry documents.
  • Http-Get, Http-Post works with name/value pair which means transferring complex object is not possible with these protocols, whereas SOAP serializes complex structure, such as ASP.NET DataSets, complex arrays, custom types and XML nodes before transmitting and thus allows exchange of complex objects between applications.
  • Two components can easily communicate using Remote Procedure Calls protocol. But because of their compatibility and security issues, most of firewalls and proxy server block this type of messages. SOAP uses HTTP channel to transport which makes it widely accepted protocol over the Internet.
Steps taken in the SOAP Processing model
There are different nodes used and they are termed as SOAP nodes. They act as a receiver of the process and allow access to the messages as well.

The nodes consists of the following process:
  • SOAP sender : It is a node that transmits the message received by the receiver.
  • SOAP receiver : It is a node that receives or accepts the message passed by the user.
  • SOAP message path : It is a node that sets the path to make it easy for the messages to go along and reach its destination.
  • Initial SOAP sender : It is also called as originator and it sends the message at the starting point of the message path and saves the settings there.
  • SOAP intermediary : It is in between the SOAP receiver and SOAP sender that contains the SOAP message. It processes the header blocks that forward the SOAP message to the receiver.
  • Ultimate SOAP receiver : It is the node where the message gets received finally. They are responsible for processing the contents used by the SOAP body and the SOAP header also included in it.
Message format used in SOAP
  • The message format is written by using the XML language that writes the standard message format as it is widely used. It allows easy transition to deliver the SOAP based implementations.
  • The format of the protocol allows easy readability, ease of error detection and it removes the problems with interoperability like the byte order.
The message that is been given is in the format given below:
POST /InStock HTTP/1.1
Host: localhost
Content-Type: application/soap+xml; charset=utf-8
Content-Length: 299
SOAPAction: ""

<?xml version="1.0"?>
<soap:Envelope xmlns:soap="">

Working of SOAP
  • SOAP is used to provide a user interface that can be achieved from the client object and the request that it sends goes to the server that can be achieved by using the server object.
  • The user interface creates some files or methods that consists of server object and the name of the interface to the server object.
  • It also consists of other information like name of the interface and method.
  • It uses HTTP to send the XML to the server using the POST method. The server parses the method and send the result to the client side.
  • The server creates more XML that consists of responses of the user interface's request that is used using HTTP.
  • Client can use any method to send the XML. It can use the SMTP server as well as POP3 protocol to pass the messages and for request or respond queries.
Problems faced by the user by using SOAP
  • SOAP is a new protocol that is used for cross-platform communication and it can bypass the firewall.
  • This new protocol has more security vulnerabilities than any other. There is a problem to use this protocol as firewall is a security mechanism that comes in between.
  • It blocks all the ports leaving few like HTTP port 80 and the HTTP port which is used by SOAP to bypass the firewall.
  • It is a serious concern as it can pose difficulties for the users. There are ways like SOAP traffic can be filtered from the firewalls.
  • Each SOAP header is having a unique header field that can be used to check the SOAP messages which are passing through the firewall.
Web Relational functionalities provided by the SOAP protocol
There are functionalities that are provided for the web page by the SOAP protocol and they are:

1. HTTPUtils : This provides the functionality of the POST method through which the request can be reached in a secure manner.
2. Parameter : It represents an argument to a RPC call that is used by both client and the server.
3. Response : Response is an object that represents a RPC response by both client and server but the result will come after the method invocation only.
4. TCPTunnel : Is an object that provide the property of listening on a given port and forward all the host and port names.
5. TypeConverter : It is a functionality provided to convert an object of one type to another type and this invoked with the class in the form object.

Explain multimedia Architecture? Mentioned the requirement for mobile database.

  • The multimedia is a single, integrated feature that extends the database by storing, managing, and retrieving image, audio, and video data, and by supporting Web technologies for multimedia data.
  • The Multimedia architecture defines the framework through which the media-rich content as well as traditional data are supported in the database.
  • This content and data can then be securely shared across multiple applications written with popular languages and tools, easily managed and administered by relational database management and administration technologies, and offered on a scalable database that supports thousands of users.
  • In the first tier, the database holds a rich content in tables along with the traditional data. Through a database-embedded JVM, a server-side media parser is supported as well as an image processor.
  • The media parser has object-oriented and relational interfaces, supports format and application metadata parsing, and can be extended to support additional formats.
  • The image processor includes JAI and provides image processing for operations such as producing thumbnail-size images, converting image formats, and image indexing and matching.
  • Using the Multimedia methods, import and export operations between the database and operating system files (external file storage) are possible.
  • It also supports special delivery types of servers, such as streaming content from a database.
  • Using the Oracle Multimedia Plug-ins for Real Networks or Windows Media Services, the Helix Universal Server or Windows Media Streaming Server can stream multimedia data to a client directly out of the database using Real-Time Streaming Protocol (RTSP).
  • In addition, third-party media processors such as speech recognition engines can run external to the database to process media stored in the database and return results to the database.
  • In the second or middle tier, the Application Server provides access to Multimedia through the Multimedia Java classes, which enable Java applications on any tier (client, application server, or database) to access, manipulate, and modify audio, image, and video data stored in a database.
  • In addition, the Multimedia Servlets and JSP Java API facilitates the upload and retrieval of multimedia data stored in a database using the Oracle Multimedia OrdAudio, OrdDoc, OrdImage, and OrdVideo object types.
  • The Multimedia Servlets and JSP Java API can access data stored in the Oracle Multimedia objects or BLOBs or BFILEs directly.
  • Developers can also use JDeveloper and Multimedia to build media-rich Java applications quickly and easily using the Oracle Multimedia/ADF Business Components integration package.
  • The Multimedia rich content can also be easily and transparently incorporated into Oracle Portal forms and reports, which can then be published as portlets.
  • SQL developers familiar with the database can develop Web applications that use Oracle Application Server exclusively, and Oracle Database using the PL/SQL development environment.
  • The steps include using the PL/SQL Gateway (mod_plsql) feature of the Oracle HTTP Server and the PL/SQL Web Toolkit. Web application developers can write PL/SQL servlets and PL/SQL server pages (PSP) that invoke PL/SQL procedures stored in the database through an Oracle Net connection and OCI.
  • In the third or client tier, the ability to perform local processing is supported through the Multimedia Java classes, JAI, and JMF. JAI and JMF provide a set of APIs for media processing on the client, and Oracle Multimedia Java classes supply direct access to all media types from the client.