COMPONENTS – WHY? Object-oriented source-level re-use of code requires same source code language. Object-oriented source-level re-use may require understanding.

Slides:



Advertisements
Similar presentations
Welcome to Middleware Joseph Amrithraj
Advertisements

COM vs. CORBA.
Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa SOFTWARE ARCHITECTURES An architecture contains the.
Software Engineering 2003 Jyrki Nummenmaa 1 OBJECT ARCHITECTURE DESIGN These slides continue with our example application, based on the simplified.
Distributed Systems Architectures
BICS546 Client/Server Database Application Development.
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
Fall 2007cs4251 Distributed Computing Umar Kalim Dept. of Communication Systems Engineering 31/10/2007.
Copyright W. Howden1 Lecture 19: Intro to O/O Components.
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
L EC. 01: J AVA FUNDAMENTALS Fall Java Programming.
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
Client/Server Architectures
Chapter 10 EJB Concepts of EJB Three Components in Creating an EJB Starting/Stopping J2EE Server and Deployment Tool Installation and Configuration of.
Visual Basic: An Object Oriented Approach 12 – Creating and using ActiveX objects.
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
L6 - March 1, 2006copyright Thomas Pole , all rights reserved 1 Lecture 6: Software Packaging: Dynamically Integrable Components and Text Ch.
CIS 375—Web App Dev II Microsoft’s.NET. 2 Introduction to.NET Steve Ballmer (January 2000): Steve Ballmer "Delivering an Internet-based platform of Next.
Internet, intranet, and multimedia database processing l Database processing across local and wide area networks l Alternative architectures for distributing.
Fundamentals of Database Chapter 7 Database Technologies.
M1G Introduction to Database Development 6. Building Applications.
4/2/03I-1 © 2001 T. Horton CS 494 Object-Oriented Analysis & Design Software Architecture and Design Readings: Ambler, Chap. 7 (Sections to start.
Csi315csi315 Client/Server Models. Client/Server Environment LAN or WAN Server Data Berson, Fig 1.4, p.8 clients network.
MACIASZEK, L.A. (2001): Requirements Analysis and System Design. Developing Information Systems with UML, Addison Wesley Chapter 6 - Tutorial Guided Tutorial.
Putting it all together Dynamic Data Base Access Norman White Stern School of Business.
Component Technology. Challenges Facing the Software Industry Today’s applications are large & complex – time consuming to develop, difficult and costly.
The Client/Server Database Environment Ployphan Sornsuwit KPRU Ref.
SE-02 COMPONENTS – WHY? Object-oriented source-level re-use of code requires same source code language. Object-oriented source-level re-use may require.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 14 Database Connectivity and Web Technologies.
Kjell Orsborn UU - DIS - UDBL DATABASE SYSTEMS - 10p Course No. 2AD235 Spring 2002 A second course on development of database systems Kjell.
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.
COGNOS 8BI Introduction and Architecture
March 24, 2004Craig E. Ward, CMSI 698 Advanced Topics in Database Systems Database Architecture Overview Client-Server and Distributed Architectures.
Distributed System Architectures Yonsei University 2 nd Semester, 2014 Woo-Cheol Kim.
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
1 Distributed Systems Architectures Distributed object architectures Reference: ©Ian Sommerville 2000 Software Engineering, 6th edition.
CS122B: Projects in Databases and Web Applications Spring 2017
CX Introduction to Web Programming
CS122B: Projects in Databases and Web Applications Winter 2017
Applications Active Web Documents Active Web Documents.
Section 6.3 Server-side Scripting
Recipes for Use With Thin Clients
Chapter 2: Database System Concepts and Architecture - Outline
Distributed Computing
Server Concepts Dr. Charles W. Kann.
MVC and other n-tier Architectures
Distribution and components
The Client/Server Database Environment
CSC 480 Software Engineering
Chapter 9: The Client/Server Database Environment
Processes The most important processes used in Web-based systems and their internal organization.
#01 Client/Server Computing
Chapter 27 WWW and HTTP.
Interpreter Style Examples
CS122B: Projects in Databases and Web Applications Winter 2018
Introduction to Databases Transparencies
Lecture 1: Multi-tier Architecture Overview
Distribuerte Systemer Viktigere enn vi tror, vanskeligere enn det høres Komponenttorget ‘99 Trondheim Trygve Reenskaug Numerica Taskon Distaribuerte.
Component--based development
CS122B: Projects in Databases and Web Applications Spring 2018
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
MORE ON ARCHITECTURES The main reasons for using an architecture are maintainability and performance. We want to structure the software into reasonably.
(Computer fundamental Lab)
OBJECT ARCHITECTURE DESIGN
UFCEUS-20-2 Web Programming
OBJECT STORAGE AND INTEROPERABILITY
#01 Client/Server Computing
Presentation transcript:

COMPONENTS – WHY? Object-oriented source-level re-use of code requires same source code language. Object-oriented source-level re-use may require understanding of the implementation. Building the system from source-level pieces requires certain things to be re-done, such as re-compilation in a potentially new environment. We want to avoid the above problems and build binary components with well-defined interfaces.

COMPONENT – WHAT? Component technologies can be seen as packaging technologies Independent Can be used as a building block to build larger systems – dynamic, ”plug & play” linking Has a well-defined interface, which hides the implementation completely Can be treated as a product of its own Can be installed separately Can be implemented with any language, as long as it implements the necessary interfaces

COMPONENT – INTERFACES An interfaces defines a set of services, which semantically belong together. An interface is a contract between the user and the implementor. A componenent may implement many interfaces and an interface may be implemented by many components. Once an interface is released, it does not change. If changes are necessary, a new interface is released.

COMPONENT TECHNOLOGIES Microsoft COM & DCOM (distributed COM) CORBA standard several vendors heavyweight system Java Beans

3-TIER ARCHITECTURE User interface tier ------------------------- Business object tier ------------------------- Data server tier

USER INTERFACE TIER Typically just runs the user interface on a client computer E.g. a web browser May load the actual user interface (e.g. a browser may load an applet) over the Internet – no need to install the client on all client computers. In a typical system there may be a large number of concurrent users running their own copy of the client.

DATA SERVER TIER Typically runs a database. Typically only runs a database: answers database queries but does not run application programs. Since data replication creates distributed database management problems, there typically is no replication, and one database is run on only one data server.

BUSINESS OBJECT TIER Executes business application components. If performance needs to be improved, more business object servers should be added. One business object may server many clients (and access different data servers with different databases). The business objects can be stateless, ie. they do not store the state of the client process, but recover from, say, database, when the client contacts it – scaling up is easier this way. The business objects can also be state-maintaining, in which case they maintain client process state information.