Appendix A - Glossary(of OO software term s)

Similar documents
Application Servers in E-Commerce Applications

Introduction. Enterprise Java Instructor: Please introduce yourself Name Experience in Java Enterprise Edition Goals you hope to achieve

index_ qxd 7/18/02 11:48 AM Page 259 Index

Client/Server-Architecture

ACRONYMS AND GLOSSARY

Implementing a Web Service p. 110 Implementing a Web Service Client p. 114 Summary p. 117 Introduction to Entity Beans p. 119 Persistence Concepts p.

History of Enterprise Java

Notes. Submit homework on Blackboard The first homework deadline is the end of Sunday, Feb 11 th. Final slides have 'Spring 2018' in chapter title

Enterprise JavaBeans (I) K.P. Chow University of Hong Kong

Distributed Objects. Object-Oriented Application Development

Deccansoft Software Services. J2EE Syllabus

Advanced Lectures on knowledge Engineering

PLATFORM TECHNOLOGY UNIT-5

Overview p. 1 Server-side Component Architectures p. 3 The Need for a Server-Side Component Architecture p. 4 Server-Side Component Architecture

Java Enterprise Edition

Enterprise Java Unit 1-Chapter 2 Prof. Sujata Rizal Java EE 6 Architecture, Server and Containers

Introduction to componentbased software development

POAD Book: Chapter 4: Design Patterns as Components Chapter 5: Visual Design Models

Chapter 6 Enterprise Java Beans

EJB ENTERPRISE JAVA BEANS INTRODUCTION TO ENTERPRISE JAVA BEANS, JAVA'S SERVER SIDE COMPONENT TECHNOLOGY. EJB Enterprise Java

SUN Sun Certified Enterprise Architect for J2EE 5. Download Full Version :

(9A05803) WEB SERVICES (ELECTIVE - III)

Erik Dörnenburg JAOO 2003

09. Component-Level Design

Chapter 16. Layering a computing infrastructure

1.264 Lecture 16. Legacy Middleware

Distributed Computing

NetBeans IDE Field Guide

JDBC Today C HAPTER 1 INTRODUCTION

Designing a Distributed System

Distributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan.

Component-Level Design. Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman. For non-profit educational use only

TOPLink for WebLogic. Whitepaper. The Challenge: The Solution:

INTRODUCTION TO Object Oriented Systems BHUSHAN JADHAV

Component models. Page 1

Vision of J2EE. Why J2EE? Need for. J2EE Suite. J2EE Based Distributed Application Architecture Overview. Umair Javed 1

J2EE Interview Questions

JAYARAM. COLLEGE OF ENGINEERING AND TECHNOLOGY Pagalavadi, Tiruchirappalli (An approved by AICTE and Affiliated to Anna University)

Socket attaches to a Ratchet. 2) Bridge Decouple an abstraction from its implementation so that the two can vary independently.

Chapter 2 FEATURES AND FACILITIES. SYS-ED/ Computer Education Techniques, Inc.

Advanced Database Applications. Object Oriented Database Management Chapter 13 10/29/2016. Object DBMSs

Component-Based Platform for a Virtual University Information System

~ Ian Hunneybell: CBSD Revision Notes (07/06/2006) ~

Developing Software Applications Using Middleware Infrastructure: Role Based and Coordination Component Framework Approach

Oracle 10g: Build J2EE Applications

J2EE Technologies. Industrial Training

COURSE DETAILS: CORE AND ADVANCE JAVA Core Java

In the most general sense, a server is a program that provides information

Distributed Multitiered Application

1Z Oracle. Java Enterprise Edition 5 Enterprise Architect Certified Master

A General ecommerce Platform with Strong International and Local Aspects

The Umbilical Cord And Alphabet Soup

Oracle Tuxedo. CORBA Technical Articles 11g Release 1 ( ) March 2010

Problems in Scaling an Application Client

Verteilte Systeme (Distributed Systems)

Object-Oriented Concepts and Design Principles

JAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP

CERTIFICATION SUCCESS GUIDE ENTERPRISE ARCHITECT FOR JAVA 2 PLATFORM, ENTERPRISE EDITION (J2EE ) TECHNOLOGY

Component-Based Software Engineering. ECE493-Topic 5 Winter Lecture 26 Java Enterprise (Part D)

What we need. Agenda. What s J2EE. Challenges of Enterprise Application Development

1Z Oracle. Java Platform Enterprise Edition 6 Enterprise JavaBeans Developer Certified Expert

Vendor: SUN. Exam Code: Exam Name: SUN Certified ENITRPRISE ARCHITECT FOR J2EE(tm)TECHNOLOGY. Version: Demo

describe the functions of Windows Communication Foundation describe the features of the Windows Workflow Foundation solution

Chapter 10 Web-based Information Systems

Reflective Java and A Reflective Component-Based Transaction Architecture

Chapter 2 Introduction

Component-based Architecture Buy, don t build Fred Broks

presentation DAD Distributed Applications Development Cristian Toma

Course Content for Java J2EE

1Z Java SE 5 and 6, Certified Associate Exam Summary Syllabus Questions

CAS 703 Software Design

Java EE 7: Back-End Server Application Development

CMP 436/774. Introduction to Java Enterprise Edition. Java Enterprise Edition

3C05 - Advanced Software Engineering Thursday, April 29, 2004

Application Servers G Session 11 - Sub-Topic 2 Using Enterprise JavaBeans. Dr. Jean-Claude Franchitti

Patterns Architectural Styles Archetypes

Selecting Enterprise JavaBeans Technology

Introduction To Web Architecture

WebSphere 4.0 General Introduction

Enterprise Java and Rational Rose -- Part I

CORBA (Common Object Request Broker Architecture)

Advanced Java Programming

BEAWebLogic. Server. Introduction to WebLogic Server and WebLogic Express. Version 8.1 Revised: June 28, 2006 Part Number:

DESIGN PATTERN - INTERVIEW QUESTIONS

Page 1. Extreme Java G Session 8 - Sub-Topic 2 OMA Trading Services

Distribution and Integration Technologies

Architect Exam Guide. OCM EE 6 Enterprise. (Exams IZO-807,1ZO-865 & IZO-866) Oracle Press ORACLG. Paul R* Allen and Joseph J.

CO Java EE 7: Back-End Server Application Development

COURSE 9 DESIGN PATTERNS

Advanced Topics in Operating Systems

Computational Web Portals. Tomasz Haupt Mississippi State University

Java SE7 Fundamentals

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING ACADEMIC YEAR (ODD SEMESTER) QUESTION BANK

Enterprise JavaBeans. Layer:01. Overview

J2EE Development. Course Detail: Audience. Duration. Course Abstract. Course Objectives. Course Topics. Class Format.

Virtual Credit Card Processing System

CORBA and COM TIP. Two practical techniques for object composition. X LIU, School of Computing, Napier University

Today: Distributed Objects. Distributed Objects

Master Thesis An Introduction to the Enterprise JavaBeans technology and Integrated Development Environments for implementing EJB applications

Test On Line: reusing SAS code in WEB applications Author: Carlo Ramella TXT e-solutions

Transcription:

Appendix A - Glossary(of OO software term s) Abstract Class A class that does not supply an implementation for its entire interface, and so consequently, cannot be instantiated. ActiveX Microsoft s component standard. ActiveX controls are in many ways similar to JavaBeans. Actor A role that someone or something can play in relation to a software system. Actors are used in use case modeling. Aggregation Represents is-part-of or is-composed-of relationships between objects. Also known as composition. Analysis The process of determining the detailed specifications for a system. Software analysis involves use case modeling and other requirement specifications, the creation of a domain object model, and a preliminary architecture. API Application Programming Interface a collection of public classes and methods that comprise a reusable chunk of functionality. Applet A mobile set of Java classes that may be instantiated and run inside of any Internet browser which supports the Java Virtual Machine. Architecture The most important and/or long lived aspects of a software system s design, including: the choice of programming language and outside vendors, major interfaces, subsystems, and common infrastructure; the architecture balances economic and technical forces. C++ A hybrid object-oriented and procedural programming language, based on C. C++ has excellent performance, but is relatively complex for the programmer. See Java & Smalltalk. Cardinality A property of a relationship between two classes (or other entities) specifying how many instances of one class may be involved in the relationship with one instance of the other class. Class Defines and encapsulates the methods and variables of its instances / objects, including the inheritance of interface(s) and/or implementation, but not including the object s state. Class Diagram Often referred to (erroneously) as an object model, the class diagram is a UML model which shows the attributes and responsibilities of classes, as well as the static relationships between them, such as implementation and/or interface inheritance and aggregation. Client The user of a server s services, as an object; or as a single-user machine in a network environment which presents the GUI for a 2-tier software application. Collaboration One class calling on another to help fulfill a responsibility. Collection Class A class with the responsibility to contain references to and provide access to other classes, such as: List, Stack, HashMap, Vector, etc. COM Component Object Model See DCOM. 1

Component Composition Concrete Class Concurrency Container Class CORBA Coupling CRC Card Database DBMS DCOM Delegation Design Design Pattern Domain Object Model Dynamic Model Encapsulation Enterprise Java Bean (EJB) An object or subsystem designed to be configurable and reusable, that has an interface and encapsulates its implementation. JavaBeans and ActiveX controls are two industry standard component models. See Aggregation. As opposed to an abstract class, a concrete class may be instantiated. Parallel processing, allowing multiple users to share system resources, or allowing a program to have multiple threads of execution. A software system with concurrency typically requires management of shared resources using locks and/or transactions. See Collection Class. Common Object Request Broker Architecture, an OMG standard for Object Request Brokers (ORBS), the Internet Inter-Orb Protocol (IIOP), and the Interface Definition Language (IDL). Note that Microsoft has a competing architecture called DCOM. The degree to which one object depends upon the details of another. Shows the Responsibilities & Collaborations for a Class. A persistent storage device. Object and relational databases have very different characteristics. Both generally support transactions. DataBase Management System. Distributed Component Object Model, Microsoft s architecture for distributed applications. DCOM is an extension of COM, and is also compatible with OLE and ActiveX. Note that CORBA is an industry standard architecture that competes with DCOM. A design technique where one class delegates some of its responsibilities to another class. Seen another way, delegation provides a means for a class to extend and reuse another class as an alternative to inheritance. The process of creating a plan for the construction of a software system. This involves the creation of UML models that specify how the system will work. A well-designed system will be as simple as possible while still being robust and flexible. See Architecture. A generalized solution for a recurring pattern of object-oriented software design problems. These patterns promote reusable, robust and flexible software. An analysis model of the classes and objects within a given domain (problem area), including their responsibilities and collaborations. Represents the non-static aspects of a software system. The UML specifies several dynamic modeling notations, including state, sequence and activity diagrams. Hiding the complex details of the implementation of a class behind a simple interface. A standard framework for 100% pure Java, portable, server-side reusable components. 2

Entity Entity Relationship Diagram (ERD) EXtreme (XP) Programming Framework Functional Decomposition Garbage Collector GUI IDL IIOP Implementation Inheritance Inheritance Instance Instance Diagram Instantiation Interface Introspection Java JavaBean JDBC JDOM In a relational database, an entity is the same as a table. Also known as a data model or schema, the ERD is a model of relational database tables and the relationships between tables. ERDs do NOT support inheritance, encapsulation or polymorphism. An iterative software development methodology that advocates pair programming, refactoring, testing, planning, and simple design. A set of reusable classes that provides rich functionality for a software system, but puts constraints on (or even dictates) the system s design. Frameworks often provide abstract classes that require specialized concrete subclasses for each new application. A method used by procedural programmers, which predates objectorientation. It involves organizing software around functions, subfunctions and the detailed sequencing of function invocations. A memory management pattern, built into Java and Smalltalk but not C++, which eliminates memory leaks and simplifies programming. Graphical User Interface (pronounced gooey). Interface Definition Language, part of the CORBA standard. Internet Inter-ORB Protocol, part of the CORBA standard. Refers to the kind of inheritance where a subclass inherits implementation (not just interface) from its superclass. A relationship between two classes where one class is defined in terms of the other. The derived class inherits the parent class interface, and possibly also some implementation. An object is an instance of a class. Objects are created by the process of instantiation. The UML model for diagramming objects (not classes). Also known as an object model. The creation (construction) of a new instance. Defines the set of messages to which an object can respond, encapsulating the implementation details. The sender of the message need not know the specific class of the responding object. See also: Abstract class & polymorphism The ability of a system to determine its own properties. For example, a Java object can dynamically discover its class and methods. The only object-oriented programming language whose programs can be executed inside of Internet browsers. Java is similar to C++, except that it is simpler, mobile, and portable (but it doesn t perform quite as well). See also: Smalltalk. A Java class designed to be configurable and reusable, adhering to the JavaBean naming standards and design conventions. Java DataBase Connectivity. An API for connecting to a DBMS to issue SQL queries directly from Java. JDOM is a convenient API for manipulating XML, a future Java standard. 3

JMS Java Messaging Service (J2EE). Java s MOM. JNDI Java Naming and Directory Interface (J2EE). A service for clients to find desired services across a distributed network, by name. JSP Java Server Pages (J2EE). An extension to Servlets for producing dynamic web content. JTS Java Transaction Service (J2EE). A transaction manager. J2EE Java 2 Enterprise Edition Sun s application server framework, includes: EJB, JMS, JNDI, JSP, JTS & RMI. Legacy System An old software system that is still in use and must be considered when designing an extended or replacement system. Life Cycle The phases that a software project goes through, and in what order, typically including: definition, feasibility, planning, development, testing, deployment, and maintenance. Using the waterfall life cycle model, these phases are completed in the exact order given, whereas with an iterative life cycle model, the planning, development and testing phases may repeat periodically (see extreme Programming). Message Objects communicate with each other by sending messages, which invoke methods of the target object. Messages are also used in a wider context; they are used for communication in general. MOM Message Oriented Middleware service to carry, route and deliver messages across networks (analogous to email). Method A function or procedure which is part of an object s interface. Method The detailed type information that is required to completely define a Signature given method s interface. Middleware Software which acts as the glue between the different tiers of client - server & multi-tier architectures. See CORBA, EJB, J2EE, and MOM. Multiple Refers to a class that inherits from more than one superclass and/or Inheritance interface. Multiple implementation inheritance is not allowed in Java. Normalization Elimination of redundancies in relational data models. Object An instance of a class with unique identity & values for the attribute(s) defined by the class. See Object-Oriented. OLE Object Linking and Embedding from Microsoft See COM. OMG The Object Management Group, which includes 800+ companies, is behind the CORBA standard. Object Model This term is often confused with class diagram; technically it is an instance diagram. Object-Oriented A paradigm for organizing a software system as a collection of objects. When an object-oriented design is done correctly, the resulting software is as simple as possible, while still being robust and flexible. UML models are often created in the process. Key concepts: encapsulation, polymorphism, inheritance, delegation, interface. 4

Object Request Broker (ORB) Persistent Object Polymorphism Proxy Refactoring Referential Integrity Relational Database Requirements Responsibility RMI Server Servlet Smalltalk SQL State Subclass A middleware product supporting the CORBA standard that facilitates distributed applications development by providing location, platform and programming language transparencies (the programmer does not have to know or care about the location, programming environment or operating system of network services). An object that can outlive the program that creates it, made possible by having its state stored in some kind of file or database. The ability to use any object which implements a given interface, where the specific class of the object need not be specified. This allows different concrete implementations of the interface to each respond to the same message in its own way. A Common Design Pattern. A proxy object receives messages on behalf of, and delegates to, the real object, at its sole discretion. The process by which existing portions of a model or code are carefully changed, to become simpler, more general, more flexible, more reusable, easier to understand, easier to maintain, faster... Constraints in a relational database, applicable to all insert, update and delete operations, for all relationships. For example, a database might not allow the deletion of a particular record if some other record in some other table refers to it as a foreign key; such a deletion would leave that other table with an invalid foreign key reference. Alternatively the deletion could cascade, deleting not only the original record, but also all records which refer to it. A kind of database, whose design has a mathematical basis in set theory. See DBMS & Entity Relationship Diagram. There are functional and non-functional requirements. Use cases are excellent for describing the functional requirements. Non-functional properties include: robustness, flexibility, reusability, reliability, performance, simplicity, documentation, quality, maintenance, etc... The services provided by a class. A class can be responsible for performing actions, maintaining knowledge, enforcing constraints, etc. Remote Method Invocation. A Java extension which provides similar functionality as an ORB, but only for pure Java applications, allowing a client to call a method on a remote server object. An object or system which provides services. See client and tier. Stateless Java code (J2EE) that runs on a server, analogous to an applet. Can be accessed from applets or from HTML web pages. See Tomcat. Perhaps the purest object-oriented programming language. Structured Query Language is an ad-hoc query language for reading and manipulating data in a relational database. The values of an object s attributes, lumped together in such a way that no two states of an object have identical responses to all messages. Class that inherits implementation and/or interface from a superclass. 5

Superclass Tier Tomcat Transaction Unified Modeling Language (UML) Use Case Virtual Machine Virtual Method XML Class, often abstract, with subclasses. A machine which runs software as part of a distributed application in a network environment. The well-known client / server architecture is an example of a 2-tier system. Nowadays, N-tier architectures are becoming increasingly common due to their increased flexibility, scalability, ease of maintenance, and other benefits. The servlet container used as the Official Reference Implementation for the Java Servlet and Java Server Pages (JSP) technologies. A single unit of work to be accomplished by a software system with the properties that it 1) is an atomic, indivisible unit of work, such that either all or none of it will execute; 2) leaves the system in a consistent, stable state, or else it will abort; 3) is not affected by other transactions that execute concurrently (implying a locking mechanism); 4) is durable and permanent (implying the need for a persistence mechanism, such as a database). The UML is a robust and standard modeling language for designing object-oriented software systems. It provides class, instance, state, activity, interaction (sequence, collaboration), package, deployment and use case diagrams. Refer to: object-oriented design. A UML model that describes system processes, workflows, or scenarios, and is designed to ensure that the system behavior (functional requirements) is what the users (actors) require. The Java platform, the JVM can be implemented on many other real platforms. This allows Java programs to not have to know or care about the real platform they are running on, achieving portability. C++ term for a method whose implementation can be overridden by a subclass, with dynamic (run-time) binding. Polymorphism requires a virtual method mechanism. Standard extensible Markup Language structured data as a text file. 6