2-tier,3-tier datawarehouse submitted by manisha dubey & akanksha agrawal
TRANSCRIPT
2-Tier,3-Tier datawarehouse
Submitted by Manisha Dubey & Akanksha Agrawal
2 tier Architecture
A two tier architecture is simply based on client-server architecture.
A 2-tier architecture is one which has a
client tier, and a database tier.– The database tier manages the database – The client tier is the interface between the user
and the system
2 tier Architecture
The Client Tier
The first tier(Client tier)is the front-end client layer.
This layer holds the following tools query tools reporting tools analysis tools data mining tools
The Database Server Tier
The second tier(Database server) is the bottom tier of the architecture datawareho use database server
It is the relational database systemWe use the back end tools and utilities to
feed data into the bottom tierThese backend tools and utilities perform
the extract, clean, load, and refresh
functions
Benefits and Limitation of 2-Tier ArchitectureBenefits
– great for creating applications quickly using visual builder tools thanks to its simplicity
– appropriate to departmental applications• e.g.) decision support, small-scale groupware,
simple web-based applications
Limitations– not mission-critical, not scalable
GUISQL, File Server, HTTP protocol
Tier 1 Tier 2
Database(orOther ResourceManagers)
A 2-Tier Client-Server Application Architecture
Tier 3
RPCs, Conversations, Queues,Publish-and-Subscribe,
Broadcasts, Object invocations
GUI
Tier 2Tier 1
ApplicationDatabase(orOther ResourceManagers)
A 3-Tier Client-Server Application Architecture
Why 3-Tier Architecture ?
Needs of new world’s applications– Business will increasingly compete be being
the first to market with new electronic goods and services
– Companies will create virtual corporations through alliances with a shifting set of partners
– Roles and relationships btw. enterprises will shift frequently as industries realign
Why 3-Tier Architecture ?
Reasons– Meets the requirements of large-scale internet
and intranet client/server applications– Is easier to manage and deploy on the network
• most of code runs on the servers, especially with zero-footprint technologies like Java applets
– Minimizes network interchanges by creating abstract levels of service
– Provides better security• by not exposing the database schema to the client• by enabling more fine-grained authorization on the
server
Table 1-2 2-Tier vs. 3-Tier Client/Server2-Tier 3-Tier
System administration Complex(more logic on the client tomanage)
Less Complex(the application can be centrallymanaged on the server –application programs are madevisible to standard systemmanagement tools)
Security Low(data-level security)
High(fine-tuned at the service ormethod level)
Encapsulation of data Low(data tables are exposed)
High(the client invokes services ormethods)
Performance Poor(many SQL statements are sentover the network; selected datamust be downloaded for analysison the client)
Good(only service requests andresponses are sent between clientand server)
Scale Poor(limited management of clientcommunications links)
Excellent(concentrates incoming sessions;can distribute loads acrossmultiple servers)
Application reuse Poor(monolithic application on client)
Excellent(can reuse services and objects)
Ease of development High Getting Better(standard tools can be used tocreate the clients and tools areemerging that you can use todevelop both the client andserver sides of the application)
Table 1-2 2-Tier vs. 3-Tier Client/Server2-Tier 3-Tier
Server-to-server infrastructure No Yes(via server-side middleware)
Internet support Poor(Internet bandwidth limitationsmake it harder to download fatclients and exacerbate the alreadynoted limitations)
Excellent(thin clients are easier todownload as applets or beans;remote service invocationsdistribute the application load tothe server)
Legacy application integration No Yes(via gateways encapsulated byservices or objects)
Heterogeneous database support No Yes(3-tier applications can usemultiple databases within thesame business transaction)
Rich communication choices No(only synchronous, connection-oriented RPC-like calls)
Yes(supports RPC-like calls, but canalso support connectionlessmessaging, queued delivery,publish-and-subscribe, andbroadcast)
Hardware architecture flexibility Limited(you have a client and a server)
Excellent(all three tiers may reside ondifferent computers, or thesecond and third tiers may bothreside on the same computer;with component-basedenvironments, you can distributethe second tier across multipleservers as well)
Availability Poor(can’t fail over to a backupserver)
Excellent(can restart the middle tiercomponents on other servers)
It was developed by John J. Donovan in Open Environment Corporation (OEC),a tools company he founded in Cambridge, Massachusetts
A three tier architecture typically consist of – Presentation tier Domain logic tier Data storage tier
3-Tier Architecture
Get sales total
Total sales
Get list of all salesmade last year
Query
Add all sales togeather
Sales 1…
Presentationtier
Logic tier
Data tier
databasestorage
Three-tier architecture is a client–server architecture in which the user interface(presentation), functional process logic ("business rules"), computer data storage and dataaccess are developed and maintained as independent modules, most often on separate platforms.
3-Tier Architecture
This is the topmost level of the application.
The presentation tier displays information related to such services as browsing merchandise, purchasing and shopping cart contents.
It communicates with other tiers by which it puts out the results to the browser/client tier and all other tiers in the network. (In simple terms it is a layer which users can access directly such as a web page, or an operating systems GUI)
The logical tier is pulled out from the presentation tier and, as its own layer, it controls an application’s functionality by performing detailed processing.
The data tier includes the data persistence mechanisms (database servers, file shares, etc.)
The data access layer that encapsulates the persistence mechanisms and exposes the data.
The data access layer should provide an Application Programming Interface (API) to the application tier that exposes methods of managing the stored data without exposing or creating dependencies on the data storage mechanisms.