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