e Commerce Technology 20 751 Lecture 4 Web
e. Commerce Technology 20 -751 Lecture 4: Web Architecture
Two-Tier Architecture TIER 1: CLIENT TIER 2: SERVER Server performs all processing Web Server Application Server Database Server This architecture is deprecated. Server does too much work. SOURCE: FOURNIER 20 -751 ECOMMERCE TECHNOLOGY SUMMER 2000 COPYRIGHT © 2000 MICHAEL I. SHAMOS
Three-Tier Architecture TIER 1: CLIENT TIER 2: SERVER TIER 3: BACKEND Application server offloads processing to tier 3 Web Server + Application Server Note: Using 2 computers instead of 1 can result in a huge increase in simultaneous clients. Depends on % of CPU time spent on database access. SOURCE: FOURNIER 20 -751 ECOMMERCE TECHNOLOGY SUMMER 2000 COPYRIGHT © 2000 MICHAEL I. SHAMOS
N-Tier Architecture Optimized for web page delivery Coded for specific application Managed and tuned by DBA Achieves full separation of function and administration Huge number of simultaneous clients SOURCE: FOURNIER 20 -751 ECOMMERCE TECHNOLOGY SUMMER 2000 COPYRIGHT © 2000 MICHAEL I. SHAMOS
Inter. Shop Architecture SOURCE: INTERSHOP 20 -751 ECOMMERCE TECHNOLOGY SUMMER 2000 COPYRIGHT © 2000 MICHAEL I. SHAMOS
Web Broker Architecture FEATURES • More distributed than Inter. Shop • Broker acts as distribution agent SOURCE: INTERWORLD
Server Clusters (Farms) EACH REQUEST SENT TO A FREE SERVER REPLICATED CONTENT 20 -751 ECOMMERCE TECHNOLOGY SUMMER 2000 COPYRIGHT © 2000 MICHAEL I. SHAMOS
Server Clusters Purpose: Scale website service capability 1. What is the IP address of www. foo. dom? 2. DNS server gives address of reverse proxy server. RPS picks an available server, sends request to it. 3. Server send result to RPS sends result to client. Server Cluster SOURCE: WEB TECHNIQUES MAGAZINE 20 -751 ECOMMERCE TECHNOLOGY SUMMER 2000 COPYRIGHT © 2000 MICHAEL I. SHAMOS
Today’s Storage Architecture Clients Servers Storage Channels BACKUP LAN SOURCE: UNISYS 20 -751 ECOMMERCE TECHNOLOGY SUMMER 2000 COPYRIGHT © 2000 MICHAEL I. SHAMOS
Storage-Area Network (SAN) Solution Clients Servers Storage SAN BACKUP OR REPLICATION LAN SOURCE: UNISYS 20 -751 ECOMMERCE TECHNOLOGY SUMMER 2000 COPYRIGHT © 2000 MICHAEL I. SHAMOS
SAN Definition • • • Multiple paths to each resource Any-to-any connections Global Address view Open structure using industry standard protocol No node dependencies, (can function even if one or more nodes are inoperative) • Optimized for large block transfers • High bandwidth and high availability • Scales up with no performance loss SOURCE: UNISYS 20 -751 ECOMMERCE TECHNOLOGY SUMMER 2000 COPYRIGHT © 2000 MICHAEL I. SHAMOS
Applets: Mobile Internet Code HTML: <applet> code=clock. class codebase=“http: //www. sun. com/classes” </applet> SOURCE: FOURNIER
What Applets Can’t Do • • Reference specified area of memory Access local file system Execute other programs Load local libraries Create or manage threads in others Connect to other hosts except originator Open windows • Applets identify themselves through code signing (digital signature) SOURCE: POSTECH 20 -751 ECOMMERCE TECHNOLOGY SUMMER 2000 COPYRIGHT © 2000 MICHAEL I. SHAMOS
Java 2 Security Model Applications are identified by digital signatures Every application is subject to a security policy Domain = Set of classes given the same permissions Range of security policies Trusted native applications run here Untrusted foreign applets run here Security manager controls access to system resources SOURCE: SUN MICROSYSTEMS
Java Beans • Java Beans: reusable software components containing business logic for manipulation in a visual builder tool (e. g. Borland JBuilder, IBM Visual Age for Java) • Write once, run anywhere (WORA) • Properties of Beans: – Introspection: builder tool can analyze how a Bean works. get. Bean. Info(Bean. Class) – Customization: developer can use an app builder tool to customize the appearance and behavior of a Bean – Events: enables Beans to communicate and connect together – Properties: property editors to customize Beans – Persistence: developers can customize Beans, store and retrieve them, with customized features intact, for future use • Can buy and sell Beans. Visit Sun. 20 -751 ECOMMERCE TECHNOLOGY SUMMER 2000 COPYRIGHT © 2000 MICHAEL I. SHAMOS
Enterprise Java Beans (EJB) • An interface specification for building scalable, distributed, component-based, multi-tier enterprisewide applications • Java Beans for server-side business applications • Platform and vendor-neutral • Java Beans extended with – transaction processing – state management – services not offered by the Java Virtual Machine • Idea: incorporate data and business logic into objects in one place in the enterprise • Employ reusable components 20 -751 ECOMMERCE TECHNOLOGY SUMMER 2000 COPYRIGHT © 2000 MICHAEL I. SHAMOS
Enterprise Java Beans SERVER MANAGES EJB CONTAINERS CONTAINER HANDLES: • TRANSACTION MGMT • SECURITY • CLIENT CONNECTIVITY • LIFE CYCLE MGMT ENTERPRISE BEANS HANDLE BUSINESS LOGIC SOURCE: SUN MICROSYSTEMS 20 -751 ECOMMERCE TECHNOLOGY SUMMER 2000 COPYRIGHT © 2000 MICHAEL I. SHAMOS
Enterprise Java Beans DATABASE STORES ENTITY BEAN STATES ENTITY BEAN • REPRESENTS BUSINESS ENTITY OBJECT • SHARED BY MANY CLIENTS • IS PERSISTENT SESSION BEAN • PERFORMS TASK FOR 1 CLIENT • IS NOT PERSISTENT CUSTOMER ON WEB SERVLET RESPONDS TO CART APPLET SESSION BEAN CLIENT SOURCE: SUN MICROSYSTEMS 20 -751 ECOMMERCE TECHNOLOGY SUMMER 2000 COPYRIGHT © 2000 MICHAEL I. SHAMOS
EJB Vendors Also visit www. javasoft. com/products/ejb/tools 1. html SOURCE: CHÁD DARBY 20 -751 ECOMMERCE TECHNOLOGY SUMMER 2000 COPYRIGHT © 2000 MICHAEL I. SHAMOS
Java Server Pages (JSP) Delivering customized content SOURCE: SUN 20 -751 ECOMMERCE TECHNOLOGY SUMMER 2000 COPYRIGHT © 2000 MICHAEL I. SHAMOS
Looks like an HTML page JSP Page Example Page invokes a Java bean from a servlet (Similar to an applet) <html> <jsp: use. Bean id=“clock” class=“calendar. Jsp. Calendar”/> <ul> <li>Day of Month: is <%=clock. get. Day. Of. Month)_%> <li>Year: is <%=clock. get. Year()%> </ul> Page invokes methods on </html> the servlet to generate dynamic content SOURCE: SUN 20 -751 ECOMMERCE TECHNOLOGY SUMMER 2000 COPYRIGHT © 2000 MICHAEL I. SHAMOS
Open User Community • No control over who accesses system (or where they are from) – Competitors, thieves, error-prone users • No user-level documentation – System must be self-documenting (or not documented at all) – On-line help must be available • Short attention span • Undetermined loyalty – Mc. Kinsey: loyalty based on convenience 20 -751 ECOMMERCE TECHNOLOGY SUMMER 2000 COPYRIGHT © 2000 MICHAEL I. SHAMOS
Open User Community • Security • System must operate reliably 24/365 – Software “hot-swap” • Rapid Application Development – Internet time – Distribution over the Internet Code management – Version control 20 -751 ECOMMERCE TECHNOLOGY SUMMER 2000 COPYRIGHT © 2000 MICHAEL I. SHAMOS
Web Development Tools • Symantec Visual. Café – – – Full Bean support Forms Designer (100+ pre-built Java Beans) Visual Class browser, modify hierarchies Compile, incremental debug (source-level) integrate with db. Anywhere drag-and-drop database connection Beans • Visual. Café demo 20 -751 ECOMMERCE TECHNOLOGY SUMMER 2000 COPYRIGHT © 2000 MICHAEL I. SHAMOS
Major Ideas • • Three-tiered (n-tiered) architecture Web development tools Storage Area Networks Enterprise Java Beans 20 -751 ECOMMERCE TECHNOLOGY SUMMER 2000 COPYRIGHT © 2000 MICHAEL I. SHAMOS
Q&A 20 -751 ECOMMERCE TECHNOLOGY SUMMER 2000 COPYRIGHT © 2000 MICHAEL I. SHAMOS
- Slides: 26