Lecture 1A Flashcards
What does ORM stand for?
Object relational mapping.
Four goals enterprise software needs to meet?
Extensibility
Portability
Reliability
Security
Expand on extensibility:
Adding functionality should be easy.
Code should be reusable.
How: separation of concerns via modularization, encapsulation, tiers.
Expand o portability and interoperability:
Should not depend on single number of technology vendors.
How: use of portable frameworks, standardized approaches, open source.
Expand on reliability and scalability:
How: distributed computing and parallelism - concurrency, ideally non-blocking / asynchronous. Also use of application server hitch provides high availability.
Expand on security:
How: Authentication, Authorization, permission and roles, cryptography, logging.
What use Java for enterprise?
Widely used, fast virtual machine (JVM), lots of libraries, secure future.
Downsides of Java for enterprise?
Many product decisions to make, available frameworks verbose, Java 1.7 behind regards parallel and multi-threaded, can be overkill for small size businesses.
Main enterprise architectural feature?
Multi-tier or n-tier architecture.
What organize as tiers?
Separation of concerns, scalability, security, extensibility and maintainibility. Same reasons we split programs into modules, packages, classes, libraries.
Typical tiers:
Client (presentation) Web tier (optional) Business tier (application, business logic and beans) Data tier (enterprise information tier)
Client tier:
Presentation layer, typically multiple clients, receives user input, html,
Web tier:
Interface between client tier and business tier, supplies client with content, collects input from client, JSP, servlets
Business tier:
Business logic, enterprise Java beans, JNDI
Data tier:
Relational database management system or NoSQL, hibernate or other ORMs, JDBC, Java Persistence API and Java Transaction API