Time Scalability Single User Unlimited Users 100s of Users Several Users PC based Single user Late 1980sNow PC based, file-level locking Single user or.
Published byModified over 6 years ago
Presentation on theme: "Time Scalability Single User Unlimited Users 100s of Users Several Users PC based Single user Late 1980sNow PC based, file-level locking Single user or."— Presentation transcript:
Time Scalability Single User Unlimited Users 100s of Users Several Users PC based Single user Late 1980sNow PC based, file-level locking Single user or Peer-to-Peer LAN based Max users depends upon file-handles 2-tier Client/Server user=process 3-tier Internet Client/Server pooling connection n-tier Internet Client/Server Business components, servlets... 1000s of Users Mainframe Mid-1990s 3-tier Internet Client/Server single stateless connection per CGI call Client/Server File-sharing Database scalability eras
Internet TCP/IP Early Internet Client/Server Server HTML Documents Clients Web Browsers 1) Select URL 2) Send HTTP3) Wake up and process request 4) Return required HTML 5 ) Browser interprets HTML
Data aware Internet Applications 1) Select URL 2) Send HTTP3) Wake up and process request 5) Return required HTML with data embedded 6 ) Browser interprets HTML Dbms Web Server 4) get some data CGI or Web-server extender module
BC4J Alternative (simplified) Browser AppserverDB server(s) HTTP JSP Runtime Environment BC4J Application Module View Object One or more physical servers
Issues with web-enabled databases Statelessness is a big issue: –How do you carry information between forms? –How do you carry information throughout a session? –How do you recognise a user? –How do we keep down the connection overhead?
Issues with web-enabled databases Where do we do: –data management –data manipulation –business logic –input validation –presentation processing
Issues with web-enabled databases GUI Server-side processing of business logic: triggers, stored procedures... Thin Client Applications GUI Serving the data Fat Client Applications Application logic
Jargon-busting 3-tier –In the current incarnation: Database Server Application Server Client –Advantages: separation of business logic Scalability Robust
Jargon-busting Web Server –aka HTTP Server – piece of software which basically acts as a document handler typically in tier2 –You ask it for one of its HTML documents by requesting its URL using HTTP –Examples include Microsoft IIS, Apache
Jargon-busting HTTP Server extension modules –Allow for the creation of dynamic HTML, especially useful for handling getting data from (or to) a DBMS –The modules are actually DLLs –Administrator configures.conf file to include the extensions –Examples include: ColdFusion, ASP
Jargon-busting Servlet Engines –Do much the same as an extension does in that they handle non-HTML URLs and allow for the creation of dynamic HTML –An environment for running Servlets, and compiling JSPs –Written in Java for running Java code –Examples include: Jserv, JRun
Jargon-busting Applet –An application with its arms tied behind its back! –“inside the sandbox,” means must run from within a browser and not make OS I/O calls –Is called from, and killed by, the Browser –should have an Init(), not a main() –Its more sub-classing a GUI than writing an application
Jargon-busting JavaBean –“A reusable software component that can be manipulated in a builder tool” –blackbox interface that permits users to interact with the Bean –Can be GUI related or non-visual objects Enterprise JavaBean –EJB TM is a server-side component model –the EJB server itself handles the underlying transaction management