Vorlesung “Einführung in Datenbanksysteme“ WS 1999/2000 © F. Matthes, J.W. Schmidt 10. Ausblick Einführung in Datenbanksysteme Application Server 10.2.1 10.1 Zusammenfassung Datenmodelle RDM (Kap. 3) NDM, HDM (Kap. 4) Datenbanksysteme und ihre Realisierung Transaktionen (Kap. 8) Architekturen (Kap. 9) Anwendungen •Digitale Bibliotheken •SAP R/3 •Multimedia-Datenbanken •Online-Redaktionssysteme OODM (Kap. 5) Objektrelationale Systeme (Kap. 6) New: Application Server (Kap. 10) Einführung in Datenbanksysteme Application Server Application Server 10.2.2 1 Vorlesung “Einführung in Datenbanksysteme“ WS 1999/2000 © F. Matthes, J.W. Schmidt 10.2 Application Server Einführung in Datenbanksysteme Application Server 10.2.3 Database Server SELECT NAME FROM emp WHERE empno “99-9-99“ DBMS client “John Smith“ db the user interface runs on the client the database lives on the server the business logic is performed on the client, updating shared data by sending streams of SQL to the server Einführung in Datenbanksysteme Application Server Application Server 10.2.4 2 Vorlesung “Einführung in Datenbanksysteme“ WS 1999/2000 © F. Matthes, J.W. Schmidt Application Server DB server getEmployeeName(„99-9-99“) Application Server Client “John Smith“ db the business methods run on the server the client requests execution of the methods from the server the client and the server will typically use a protocol that represents a conversation at the level of business transactions, instead of the level of tables and rows Einführung in Datenbanksysteme Application Server 10.2.5 n-Tier Systems The so-called 3-tier systems place an intermediate component, middleware, between the client and the database. Multiple tiers provide a flexibility and interoperability that has resulted in systems with more than these three layers of service. n-Tier systems are generalizations of three-tier systems, each layer of software providing a different level of service to the layers above and beneath it. The n-tier perspective considers the network to be a pool of distributed services, rather than simply the means for a client to accesses a single server. Einführung in Datenbanksysteme Application Server Application Server 10.2.6 3 Vorlesung “Einführung in Datenbanksysteme“ WS 1999/2000 © F. Matthes, J.W. Schmidt Functionality of a Middleware A transaction-processing monitor, a type of middleware receives streams of requests from many clients; balances the load between multiple servers; provides failover when a server fails and manages transactions on a client’s behalf; provides communications protocol translation; consolidates requests heterogeneous servers; and responses between clients and multiple provides service metering and network traffic information. Einführung in Datenbanksysteme Application Server 10.2.7 Component Model “A software component is a unit of composition with contractually specified interfaces and explicit context dependencies only. A software component can be deployed independently and is subject to composition by third parties.” (Workshop on Component-Oriented Programming, ECOOP, 1996.) CORBA (Common Object Request Broker Architecture) is an architecture that allows objects within applications — even objects written in different languages — to run on separate machines, depending on the needs of a given application Enterprise JavaBeans, which is designed to be compatible with CORBA, is another entry into the component-oriented application-server ring. Einführung in Datenbanksysteme Application Server Application Server 10.2.8 4 Vorlesung “Einführung in Datenbanksysteme“ WS 1999/2000 © F. Matthes, J.W. Schmidt CORBA What is CORBA? ❏ Common Object Request Broker Architecture ❏ Communication infrastructure for distributed objects ❏ Allows a heterogeneous, distributed collection of objects to collaborate transparently What is CORBA good for? ❏ Developing distributed applications ❏ Locating remote objects on a network ❏ Sending messages to those objects ❏ Common interface for transactions, security, etc. ❏ CORBA Services (more later) Einführung in Datenbanksysteme Application Server 10.2.9 Enterprise JavaBeans (EJBs) The components are hosted by application server. EJBs take care of the low-level system details of managing: ❏ ❏ ❏ ❏ ❏ ❏ ❏ transactions persistence threads load balancing messaging naming ..... The developers can concentrate just on the business logic (though, it’s always possible to get "under the hood" and customize these lower-level services). Einführung in Datenbanksysteme Application Server Application Server 10.2.10 5 Vorlesung “Einführung in Datenbanksysteme“ WS 1999/2000 © F. Matthes, J.W. Schmidt Goal The enterprise developer no longer needs to write code that handles: ❏ transactional behaviour ❏ security ❏ connection pooling ❏ threading because the architecture delegates this task to the server vendor Einführung in Datenbanksysteme Application Server 10.2.11 Java 2 Platform Enterprise Edition il Ma Objects i sag Mes ng Dir e cto r Data base Database Objects Mail Transactions Messaging Directory y s action Trans EJBs Einführung in Datenbanksysteme Application Server J2EE Application Server 10.2.12 6 Vorlesung “Einführung in Datenbanksysteme“ WS 1999/2000 © F. Matthes, J.W. Schmidt J2EE Architecture BluePrints JSPs Servlets Transactions Messaging Container Mail Connectors EJBs Applets JavaBeans Tools Java 2 SDK, Standard Edition CORBA Security Einführung in Datenbanksysteme Database Directory XML Application Server 10.2.13 Inprise Application Server Einführung in Datenbanksysteme Application Server Application Server 10.2.14 7