A | B |
UML | Unified Modeling Language |
enumerated type | a finite set of values; literals of _____ type may be used as values to case statements in a switch statement. |
software interface | defines a set of abstract methods that may have many implementations |
composition | implies that the owning object controls the life cycle of the owned object |
TCP/IP | Transmission Control Protocol / Internet Protocol |
RMI | Remote Method Invocation |
API | Application Programming Interface |
JVM | Java Virtual Machine |
RMP | Remote Method Protocol |
CORBA | Common Object Request Broker Architecture |
Collections APIs | contain interfaces for lists and sets, are in the java.util package |
J2ME | Java 2 Platform, Micro Edition; apps include APIs for playing audio media, provide limited user interface components. |
J2SE | Java 2 Platform, Standard Edition; |
Swing | J2SE technology that supports the richest set of GUI components |
JSP | JavaServer Pages technology provides a simplified, fast way to create dynamic web content |
servlet | a simple, consistent mechanism for extending the functionality of a Web server and for accessing existing business systems |
SDK | software development kit |
abstraction | creating classes that are general and do not contain methods with a particular implementation or method body code |
calling method | a method that invokes or class another method to do some work |
child class | the class that inherits from, or extends, the superclass |
constructors | method-like structures that are invoked automatically when you instantiate an object |
default constructor | the constructor that is created by the Java programming language compiler if the compiler finds a class that does not have an explicitly defined constructor |
encapsulation | the hiding of data within a class |
superclass | the class which contains members common to several other classes |
private | modifier which allows objects of a given class, their attributes, and operations to be inaccessible by other objects |
public | modifier which allows the class, its attributes, and methods to be visible to any object in your program |
static | keyword that is used to declare that there can only be one copy of the variable inj ememory associated with a class, not a copy for each object instance |
visibility modifiers | indicate the levels of access that other objects can have to the attribute or method |
worker method | a method that is called to do some work by another method |
CORBA | a language independent, distributed object model and specification for a distributed applications development environment; specified by the Object Management Group (OMG). |
EOL | end-of-life; the stage for the end of a project. |
FCS | First Customer Ship; implementation stage of the PLC |
GUI | interface that takes advantage of the computer's graphics capabilities to make the program easier to use |
JVM | a software, an execution engine, tht executes the byte codes in Java class files on a microprocessor |
OOAD | Object-oriented analysis and design is an approach that models a system as a group of interacting objects |
PLC | Product Life Cycle; represents an industry-accepted set of stages for the develoment of a new product; 7 stages are Analysis, Design, Development, Testing, Implementation, Maintenance, and End-of-Life. |
RMI | a distributed object model for Java program to Java program, in which the methods of remote objects written in the Java programming language can be invoked from other Java virtual machines, which can be on different hosts. |
heap memory | dynamically allocated memory chunks containing information used to hold objects and their attribute variables and methods while your program needs them |
stack memory | memory that stores items that are only used for a period of time that is shorter than the life of an object, such as variables declared inside of a method |
local variables | variables that are available locally within the method in which they are declared |
object reference variables | variables containing an address to an object in memory |
type casting | a way to lower the range of a value by changing the type of the value and, thereby, reducing the size |
IDL | interface description language (or alternately, interface definition language), or IDL for short, is a specification language used to describe a software component's interface |
sandbox | - a security mechanism for separating running programs. It is often used to execute untested code, or untrusted programs from unverified third-parties, suppliers and untrusted users. |
JAAS | Java Authentication and Authorization Server - provides additional features for logging users into a Java program and for single sign-on capabilities. |
JCE | Java Cryptography Extension - provides the necessary tools for encryption with a number of different algorithms and also for digital signatures. |
JSSE | Java Secure Socket Extension - provides a convenient SSL library - |
SSL | Secure Sockets Layer - a protocol developed by Netscape for transmitting private documents via the Internet. SSL uses a cryptographic system that uses two keys to encrypt data − a public key known to everyone and a private or secret key known only to the recipient of the message. Both Netscape Navigator and Internet Explorer support SSL, and many Web sites use the protocol to obtain confidential user information, such as credit card numbers. By convention, URLs that require an SSL connection start with https: instead of http |
multithreaded | Multiple threads can exist within the same process and share resources such as memory, while different processes do not share these resources. To give an analogy, multiple threads in a process are like multiple cooks reading off the same cook book and following its instructions, not necessarily from the same page. |
client multithreading | allows the program to be responsive to multiple user operations. |
server multithreading | allosw the server to process requests from multiple users at the same time. |
MPP | Massively parallel processing is the structured and highly coordinated processing of a single program by more than one processor. Each of the processors involved in the operation focus on different aspects of the program, and make use of separate memory and operations systems. The processors interact with one another by making use of messaging software that is configured to allow the processors to remain in contact even as each processor unit works on the assigned aspect of the overall program. |
client-side concurrency | Ex.: a Web Browser concurrently executes the following - 1)Animate Icon, 2) Listen for User Input, 3) Render Page, 4) Load Image 1, 5) Load Image 2 |
server-side concurrency | Ex.: a Business Server App concurrently executes threads from 3 clients who are calling different methods within its classes. |
JCP | Java Community Process (www.jcp.org) |
touch point | any point of interaction between the user and the system (a.k.a. input), existing in the client tier. |
client tier | the tier that hosts the user interface (UI) components |
the client tier is responsible for... | ...presenting the user interface; validating user inputs; communicating with the business tier server; managing the conversational state (flow of actions). |
Standalone | all components reside on a single machine |
Client/Server | UI and Business logic reside on same machine, but are separated from the database |
N-tier | Ui, business services, and database are on three separate machines |
GUI | a collection of windows on the user's screen |
WML | wireless mark-up language; a "cousin" to HTML |
WAP gateway | Wireless Application Protocol gateway - open, global specification which empowers mobile users with wireless devices to easily access and interact with information and services instantly. In common language, a large number of device manufactures like Nokia, Ericsson, Motorola and software developers like IBM, Microsoft, Oracle have agreed on one common standard. |
Presentation tier | a.k.a. web tier - provides a bridge between the Web browser (the Client tier) and the Business tier. |
Client tier | a.k.a. the Web browser |
CGI | Common Gateway Interface - CGI as a connector between web servers and resources suffers from blending presentation logic with business logic. |
servlets | components that process http requests; each request is handled by a separate thread. |
WAR | Web Application Archive file combines many (even hundreds) of files for easy deployment ot the Web container. |
JSP | is like a supercharged version of HTML |
JSP Tag Libraries | hide scripting code from JSP pages |
JSP pages | are converted into servlets - this occurs only once. Subsequent calls to the JSP page use the newly converted servlet repeatedly (sounds like a compiled class). |
JNDI API | provides a unified naming environment; is like a database, but is really a high-speed look-up service based on a single key field. |
tunneling | allows one system to send messages using the infrastructure of another system. |
EJB Application Servers provide commonly needed functionality: | 1) Transaction management 2)Database connectivity w/connection pooling, 3)Security, 4)Resource management |
Session Beans | 1)represent business processes; 2)Stateful or stateless |
Stateless Session Beans | have no client session state; each request is completely distinct from all others, stands alone; highly scalable b/c there is no state to maintain. |
Stateful Session Beans | handle sequences of requests, maintaining state, servicing only single client to which it is connected; keeps track of unused threads, makes them available, therefore surprisingly scalable. |
Appropriate uses of Session Beans: | Business processes; interface to persistent storage (db); controlled & coordinated access to data; transaction management for a business operation |
Entity Beans | Represent business data; use a database; basic function is to hide database from programmer and instead, allow the programmer simply to focus on data in memory and to pretend that there is an endless supply of memory. |
Each action (read/write) on an entity bean... | ...takes place in a single transaction on the database. |
EJB container | matches entity beans with appropriate session beans |
message driven bean | RESPONDS to asynchronous messages |
web services | connect the Client tier to the Business tier; allow communication between physically separate systems; for load sharing, security, etc.; Platform and Language Independent! |
SOAP | Simple Object Access Protocol - the XML language for packaging a remote method call |
UDDI | the registry technology for looking up web services |
WSDL | the XML language for describing web services within a registry |
XML | the Data exchange meta-markup language |
HTTP | Internet protocol to send request/response messages; has become a generic transport protocol. |
(SOAP) ebXML | Oasis, Sun, and UN/CEFACT |
(SOAP) BizTalk | Microsoft |
Lifecycle of a Web Service | A web service must be published before it can be used. |
Benefits of Web Services | 1)Platform- and language-independent; 2)Based on open standards; 3)Published, located, and accessed over the Internet; 4)Support synchronous as well as asynchronous messages; 5)supports a variety of clients such as Applications, Web tier, Business tier, B2B |
SMTP | Simple Message Transport Protocol |
Commit | in database integration, multiple operations must be performed in a transaction as a unit |
Rollback | failure to commit |
DAO | Data Access Object |
Legacy | an existing application, like an old CoBOL system |
Legacy integration in J2EE | Custom app? Use Java Connector Architecture & Java Native Interface for integrating with custom legacy applications; CORBA? use Java's CORBA tools to integrate; or buy a commercial adapter for a proprietary app. |
JMS | Java Messaging Service, for asynchronous requests |
JavaMail | to send email messages to end user |
B2B Integration | two business systems that need to coordinate; ex.: retail establishment must use credit card company for sales transactions |