Lecture 1A Flashcards

1
Q

What does ORM stand for?

A

Object relational mapping.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Four goals enterprise software needs to meet?

A

Extensibility
Portability
Reliability
Security

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Expand on extensibility:

A

Adding functionality should be easy.
Code should be reusable.
How: separation of concerns via modularization, encapsulation, tiers.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Expand o portability and interoperability:

A

Should not depend on single number of technology vendors.

How: use of portable frameworks, standardized approaches, open source.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Expand on reliability and scalability:

A

How: distributed computing and parallelism - concurrency, ideally non-blocking / asynchronous. Also use of application server hitch provides high availability.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Expand on security:

A

How: Authentication, Authorization, permission and roles, cryptography, logging.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What use Java for enterprise?

A

Widely used, fast virtual machine (JVM), lots of libraries, secure future.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Downsides of Java for enterprise?

A

Many product decisions to make, available frameworks verbose, Java 1.7 behind regards parallel and multi-threaded, can be overkill for small size businesses.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Main enterprise architectural feature?

A

Multi-tier or n-tier architecture.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What organize as tiers?

A

Separation of concerns, scalability, security, extensibility and maintainibility. Same reasons we split programs into modules, packages, classes, libraries.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Typical tiers:

A
Client (presentation)
Web tier (optional)
Business tier (application, business logic and beans)
Data tier (enterprise information tier)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Client tier:

A

Presentation layer, typically multiple clients, receives user input, html,

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Web tier:

A

Interface between client tier and business tier, supplies client with content, collects input from client, JSP, servlets

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Business tier:

A

Business logic, enterprise Java beans, JNDI

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Data tier:

A

Relational database management system or NoSQL, hibernate or other ORMs, JDBC, Java Persistence API and Java Transaction API

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is Java EE

A

Java Enterprise Edition, a bundle of technologies for developing enterprise apps, based on JVM, also require knowledge of html, xml, SQL.

17
Q

What is enterprise software?

A

Large scale multi-component software aimed at organizations. Typically: client-server arch, multi-threaded and parallel, multiple tiers, database, security, scalability.