No Slide Title - University of Connecticut
Download
Report
Transcript No Slide Title - University of Connecticut
Distributed Component Systems
Final Exam Advice and Hints
CSE333
Prof. Steven A. Demurjian, Sr.
Computer Science & Engineering Department
The University of Connecticut
191 Auditorium Road, Box U-155
Storrs, CT 06269-3155
[email protected]
http://www.engr.uconn.edu/~steve
(860) 486 - 4818
333 EA-1
Core Material
CSE333
OO Reuse Methodology and Framework
What are the Key Reuse Concepts?
Where Does OO Reuse Fit into DCS?
Interplay of Reuse and Other Course Concepts?
UML and Components:
Can UML be Utilized to Effectively Architect
and Design a Distributed Application?
What is role of UML/Components in DCS?
Relationship of UML to other Course Topics?
Service-Based Computing
Is JINI/CORBA effective as Middleware?
How can JINI/CORBA work in DCS Setting?
333 EA-2
Core Material
CSE333
Software Architecture
What are the Different Styles?
What Styles can be Leveraged for DCS?
Enterprise Computing and Interoperability
Motivation and Interoperability Strategies
Two, Three, Four Tier Architectures
Pulling Pieces Together for DCS
Optimal Object Deployment
Concepts: Motivation, Philosophy,
Justification, Potential usage, Benefits, Goals,
Approach
Can/Does Security and/or Reuse Impact on
Deployment?
333 EA-3
Core Material
CSE333
UML + Security
Security Issues and Security Models
RBAC vs. MAC vs. DAC
Unique Characteristics of DCP
Security Design with UML
Role Slice Diagram + AOP/Enforcement Code
Generation
Model and Framework for Security in
Distributed Setting
Incorporation of RBAC, MAC, Constraints
What is Role of Assurance in Security?
Relationship to Other Course Topics?
333 EA-4
Supplemental Material/Key Concepts
CSE333
Supplemental Material: No Direct Questions
Java: Risks/Benefits: Lecture/Readings
SW Engr. and OO Design: Lecture/Readings
Some Key Readings and New Slides
Reading List as Identified on Course Web Page
Interoperability Strategies
Enterprise Computing/Interoperability Slides
See end of this talk for copies
New Two, Three, and Four Tier Architectures
(see end of this talk)
Final Exam Handout on UConn-X-CHG (see
Course Web Page)
333 EA-5
Role During Exam
CSE333
Software Engineer/Designer/Architect
Conduct Design and Analysis
Solve Problems and Critique Approaches
Write/Outline Algorithm
Design, Analyze, Understand and Extrapolate
Show Knowledge by Demonstrating the Interplay
and Interdependencies Among Topics
Shift Perspective from Designer to Builder to User
Throughout Exam
Don’t Hesitate to Utilize
Material from Other Courses
Practical and On-the-Job Experience
Exam Open Book/Open Notes
333 EA-6
Hints for Taking Exam
CSE333
Read the Questions Carefully!
Ask Questions if you are Confused!
Answer Questions in Any Order
Organized to fit on minimum number of pages
Answer “Easiest” questions for you!
Assess Points per Time Unit
120 minutes = 120 points
30 minutes = 30 points
10 minutes = 10 points
Length of Answer Matches Points
5 points = 1/4 page = 3 or 4 sentences
30 points - if 1/4 page - likely few points!
Exam Designed to be Longer than 120 Minutes!
333 EA-7
Hints for Taking Exam
CSE333
Don't Define Concepts
E.G., Ask About Concept X, Don't Explain
Concept X, Just Answer the Question and I'll
Know If You Know Concept X
Don't Panic, Read and Review Course Materials
Prior to Exam!
Don't Be Afraid to Not Answer a Question
60% Correct for 100 Points = 60 Points
90% Correct F0r 80 Points = 72 Points
Partial Credit Is the Norm
If I Ask You to Pick and Analyze a Concept for a 5 Pt Problem You Get 1 for the Concept
and 4 for the Analysis.
333 EA-8
Concentration of Exam
CSE333
Concentration on Issues Related to
UML, Reuse, Reuse + UML
Software Architectures/Interoperability
Service-Based Computing + Security
Optimal Deployment
Security + UML - RBAC, MAC, DAC
Material Examined w.r.t.
Evaluative Questions
Constructive Questions - Including Algorithms
Relationship between Concepts
Critiquing Design Ideas/Alternatives
Extension of Project/Class Concepts
Predicting/Analyzing “Future”
333 EA-9
Possible Questions
CSE333
4 to 6 Total Multi-Part Questions -- Possibilities…
Security
Designing Multi-Tier Applications
“Looking Ahead to Future”
Reusability
Demonstrating Knowledge by Explaining the
Relationship of Topics
Well Developed, Thoughtful, Organized Answers
Bullet Lists and Other Organizations Encouraged
Enough Details to Clearly Indicate that you
Understand the Concepts
Avoid Definitions and Run-on Explanations
333 EA-10
Extra Slides for Final Examination
CSE333
Two Sets of Slides
From Interoperability/Enterprise Computing
Material Reviewed in Class
Slides 12 through 16
New Material on 2, 3, and 4 Tier Architectures
Slides 17 through 30
333 EA-11
Architectural Alternatives & Framework
CSE333
Reviewing Architectural Variants
Java Client to Legacy Appl. via RDBS
ORB Integration of Java Client and Legacy
Application
Java Client with Wrapper to Legacy Appl.
One COTS and One Legacy Appl. to Java
Clients
Quick Review of Select Material from Summer
1997 White Paper:
“The Java Programming Language: Impact upon
the Army Technical Architecture (ATA) and Joint
Technical Architecture (JTC)” Demurjian/Shin
333 EA-12
Java Client to Legacy App via RDBS
Transformed
Legacy Data
CSE333
Java Client
Updated Data
Relational
Database
System(RDS)
Extract and
Generate Data
Transform and
Store Data
Legacy
Application
333 EA-13
ORB Integration of Java Client
and Legacy Application
CSE333
Java Client
Legacy
Application
Java
Wrapper
Object Request Broker (ORB)
CORBA is the Medium of Info. Exchange
Requires Java/CORBA Capabilities
333 EA-14
Java Client with Wrapper
to Legacy Application
Java Client
CSE333
Java Application Code
WRAPPER
Mapping Classes
JAVA LAYER
Interactions Between Java Client
and Legacy Appl. via C and RPC
C is the Medium of Info. Exchange
Java Client with C++/C Wrapper
NATIVE LAYER
Native Functions (C++)
RPC Client Stubs (C)
Legacy
Application
Network
333 EA-15
One COTS and One Legacy
Application to Java Clients
CSE333
COTS Application
Legacy Application
Java Application Code
Java Application Code
Native Functions that
Map to COTS Appl
NATIVE LAYER
Native Functions that
Map to Legacy Appl
NATIVE LAYER
JAVA LAYER
JAVA LAYER
Mapping Classes
JAVA NETWORK WRAPPER
Mapping Classes
JAVA NETWORK WRAPPER
Network
Java Client
Java Client
Java is Medium of Info. Exchange - C/C++ Appls with Java Wrappers
333 EA-16
Two-Tier, Three-Tier, Four-Tier
Example Architectures
CSE333
From: http://java.sun.com/javaone/javaone98/sessions/T400/index.html
333 EA-17
Wombat Securities
CSE333
Web Access to Brokerage Accounts
Only HTML Browser Required on Front End
"Brokerbean" EJB Provides Business Logic
Login, Query, Trade Servlets Call Brokerbean
Use JNDI to Find EJBs, RMI to Invoke Them
Order and History Records from Java Blend
Product
Records Mapped to Oracle Tables, JDBC Calls
333 EA-18
Four-Tier Architecture Example
CSE333
333 EA-19
Nocturnal Aviation, Inc.
CSE333
Passenger Check-in for Regional Airline
Local Database for Seating on Today's Flights
Clients Invoke EJBs at Local Site Through RMI
EJBs Update Database and Queue Updates
JMS Queues Updates to Legacy System
DBC API Used to Access Local Database
JTS Synchs Remote Queue With Local Updates
333 EA-20
Three-Tier Example
CSE333
333 EA-21
Santa Cruz Widgets
CSE333
Small Manufacturer Previously on C++
New Order Entry, Inventory, and Invoicing
Applications in Java Programming Language
Existing Customer and Order Database
Most of Business Logic in Stored Procedures
Tool-generated GUI Forms for Java Objects
Located Company on Web Using Widgets and Tcl,
but Not Widgets and Java
333 EA-22
Santa Cruz Widgets (2-tier)
CSE333
333 EA-23
Two-Tier, Three-Tier, Four-Tier
Example Architectures
CSE333
From: http://java.sun.com/javaone/javaone98/sessions/T400/index.html
333 EA-24
Wombat Securities
CSE333
Web Access to Brokerage Accounts
Only HTML Browser Required on Front End
"Brokerbean" EJB Provides Business Logic
Login, Query, Trade Servlets Call Brokerbean
Use JNDI to Find EJBs, RMI to Invoke Them
Order and History Records from Java Blend
Product
Records Mapped to Oracle Tables, JDBC Calls
333 EA-25
Four-Tier Architecture Example
CSE333
333 EA-26
Nocturnal Aviation, Inc.
CSE333
Passenger Check-in for Regional Airline
Local Database for Seating on Today's Flights
Clients Invoke EJBs at Local Site Through RMI
EJBs Update Database and Queue Updates
JMS Queues Updates to Legacy System
DBC API Used to Access Local Database
JTS Synchs Remote Queue With Local Updates
333 EA-27
Three-Tier Example
CSE333
333 EA-28
Santa Cruz Widgets
CSE333
Small Manufacturer Previously on C++
New Order Entry, Inventory, and Invoicing
Applications in Java Programming Language
Existing Customer and Order Database
Most of Business Logic in Stored Procedures
Tool-generated GUI Forms for Java Objects
Located Company on Web Using Widgets and Tcl,
but Not Widgets and Java
333 EA-29
Santa Cruz Widgets (2-tier)
CSE333
333 EA-30