333 ea-1 cse333 distributed component systems final exam advice and hints prof. steven a. demurjian,...
Post on 22-Dec-2015
220 views
TRANSCRIPT
333 EA-1
CSE333
Distributed Component SystemsDistributed Component SystemsFinal Exam Advice and HintsFinal Exam Advice and Hints
Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department
The University of Connecticut191 Auditorium Road, Box U-155
Storrs, CT [email protected]
http://www.engr.uconn.edu/~steve(860) 486 - 4818
333 EA-2
CSE333
Core MaterialCore Material
OO Reuse Methodology and FrameworkOO 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: 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 ComputingService-Based Computing Is JINI/CORBA effective as Middleware? How can JINI/CORBA work in DCS Setting?
333 EA-3
CSE333
Core MaterialCore Material
Software ArchitectureSoftware Architecture What are the Different Styles? What Styles can be Leveraged for DCS?
Enterprise Computing and Interoperability Enterprise Computing and Interoperability Motivation and Interoperability Strategies Two, Three, Four Tier Architectures Pulling Pieces Together for DCS
Optimal Object DeploymentOptimal Object Deployment Concepts: Motivation, Philosophy,
Justification, Potential usage, Benefits, Goals, Approach
Can/Does Security and/or Reuse Impact on Deployment?
333 EA-4
CSE333
Core MaterialCore Material
UML + SecurityUML + 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-5
CSE333
Supplemental Material/Key ConceptsSupplemental Material/Key Concepts
Supplemental Material: No Direct QuestionsSupplemental Material: No Direct Questions Java: Risks/Benefits: Lecture/Readings SW Engr. and OO Design: Lecture/Readings
Some Key Readings and New SlidesSome 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-6
CSE333
Role During ExamRole During Exam
Software Engineer/Designer/ArchitectSoftware Engineer/Designer/Architect Conduct Design and Analysis Solve Problems and Critique Approaches Write/Outline Algorithm
Design, Analyze, Understand and ExtrapolateDesign, Analyze, Understand and Extrapolate Show Knowledge by Demonstrating the Interplay Show Knowledge by Demonstrating the Interplay
and Interdependencies Among Topicsand Interdependencies Among Topics Shift Perspective from Designer to Builder to User Shift Perspective from Designer to Builder to User
Throughout ExamThroughout Exam Don’t Hesitate to UtilizeDon’t Hesitate to Utilize
Material from Other Courses Practical and On-the-Job Experience
Exam Open Book/Open NotesExam Open Book/Open Notes
333 EA-7
CSE333
Hints for Taking ExamHints for Taking Exam
Read the Questions Carefully!Read the Questions Carefully! Ask Questions if you are Confused!Ask Questions if you are Confused! Answer Questions in Any OrderAnswer Questions in Any Order
Organized to fit on minimum number of pages Answer “Easiest” questions for you!
Assess Points per Time UnitAssess Points per Time Unit 120 minutes = 120 points 30 minutes = 30 points 10 minutes = 10 points
Length of Answer Matches PointsLength 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!Exam Designed to be Longer than 120 Minutes!
333 EA-8
CSE333
Hints for Taking ExamHints for Taking Exam
Don't Define ConceptsDon'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 Don't Panic, Read and Review Course Materials Prior to Exam!Prior to Exam!
Don't Be Afraid to Not Answer a QuestionDon'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 NormPartial 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-9
CSE333
Concentration of ExamConcentration of Exam
Concentration on Issues Related toConcentration 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.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-10
CSE333
Possible QuestionsPossible Questions
4 to 6 Total Multi-Part Questions -- Possibilities… 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 AnswersWell Developed, Thoughtful, Organized Answers Bullet Lists and Other Organizations EncouragedBullet Lists and Other Organizations Encouraged Enough Details to Clearly Indicate that you Enough Details to Clearly Indicate that you
Understand the ConceptsUnderstand the Concepts Avoid Definitions and Run-on ExplanationsAvoid Definitions and Run-on Explanations
333 EA-11
CSE333
Extra Slides for Final ExaminationExtra Slides for Final Examination
Two Sets of SlidesTwo Sets of Slides From Interoperability/Enterprise Computing From Interoperability/Enterprise Computing
Material Reviewed in ClassMaterial Reviewed in Class Slides 12 through 16
New Material on 2, 3, and 4 Tier ArchitecturesNew Material on 2, 3, and 4 Tier Architectures Slides 17 through 30
333 EA-12
CSE333
Architectural Alternatives & FrameworkArchitectural Alternatives & Framework
Reviewing Architectural VariantsReviewing 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 Quick Review of Select Material from Summer
1997 White Paper:1997 White Paper: “The Java Programming Language: Impact upon
the Army Technical Architecture (ATA) and Joint Technical Architecture (JTC)” Demurjian/Shin
333 EA-13
CSE333
Java Client to Legacy App via RDBSJava Client to Legacy App via RDBS
Java ClientJava Client
LegacyLegacyApplicationApplication
Relational Relational DatabaseDatabase
System(RDS)System(RDS)
Transformed Transformed Legacy DataLegacy Data
Updated DataUpdated Data
Extract and Extract and Generate DataGenerate Data
Transform andTransform andStore DataStore Data
333 EA-14
CSE333
ORB Integration of Java ClientORB Integration of Java Clientand Legacy Applicationand Legacy Application
Java ClientJava ClientLegacyLegacy
ApplicationApplication
JavaJavaWrapperWrapper
Object Request Broker (ORB)Object Request Broker (ORB)
CORBA is the Medium of Info. Exchange
Requires Java/CORBA Capabilities
333 EA-15
CSE333
Java Client with Wrapper Java Client with Wrapper to Legacy Applicationto Legacy Application
LegacyLegacyApplicationApplication
NetworkNetwork
Java ClientJava Client
Java Application CodeJava Application Code
WRAPPERWRAPPER
Mapping ClassesMapping Classes
JAVA LAYERJAVA LAYER
NATIVE LAYERNATIVE LAYER
Native Functions (C++)Native Functions (C++)RPC Client Stubs (C)RPC Client Stubs (C)
Interactions Between Java ClientInteractions Between Java Clientand Legacy Appl. via C and RPCand Legacy Appl. via C and RPC
C is the Medium of Info. ExchangeC is the Medium of Info. Exchange
Java Client with C++/C WrapperJava Client with C++/C Wrapper
333 EA-16
CSE333
One COTS and One Legacy One COTS and One Legacy Application to Java ClientsApplication to Java Clients
NetworkNetwork
Java Application CodeJava Application Code
JAVA NETWORK WRAPPERJAVA NETWORK WRAPPER
Mapping ClassesMapping Classes
NATIVE LAYERNATIVE LAYER
JAVA LAYERJAVA LAYER
Native Functions that Native Functions that Map to COTS ApplMap to COTS Appl
Java ClientJava Client Java ClientJava Client
Java Application CodeJava Application Code
JAVA NETWORK WRAPPERJAVA NETWORK WRAPPER
Mapping ClassesMapping Classes
NATIVE LAYERNATIVE LAYER
JAVA LAYERJAVA LAYER
Native Functions that Native Functions that Map to Legacy ApplMap to Legacy Appl
COTS ApplicationCOTS Application Legacy ApplicationLegacy Application
Java is Medium of Info. Exchange - C/C++ Appls with Java Wrappers
333 EA-17
CSE333
Two-Tier, Three-Tier, Four-Tier Two-Tier, Three-Tier, Four-Tier Example ArchitecturesExample Architectures
From: http://java.sun.com/javaone/javaone98/sessions/T400/index.html
333 EA-18
CSE333
Wombat SecuritiesWombat Securities
Web Access to Brokerage Accounts Web Access to Brokerage Accounts Only HTML Browser Required on Front End Only HTML Browser Required on Front End "Brokerbean" EJB Provides Business Logic "Brokerbean" EJB Provides Business Logic Login, Query, Trade Servlets Call Brokerbean Login, Query, Trade Servlets Call Brokerbean Use JNDI to Find EJBs, RMI to Invoke ThemUse JNDI to Find EJBs, RMI to Invoke Them Order and History Records from Java Blend Order and History Records from Java Blend
Product Product Records Mapped to Oracle Tables, JDBC Calls Records Mapped to Oracle Tables, JDBC Calls
333 EA-20
CSE333
Nocturnal Aviation, Inc.Nocturnal Aviation, Inc.
Passenger Check-in for Regional Airline Passenger Check-in for Regional Airline Local Database for Seating on Today's Flights Local Database for Seating on Today's Flights Clients Invoke EJBs at Local Site Through RMI Clients Invoke EJBs at Local Site Through RMI EJBs Update Database and Queue Updates EJBs Update Database and Queue Updates JMS Queues Updates to Legacy System JMS Queues Updates to Legacy System DBC API Used to Access Local Database DBC API Used to Access Local Database JTS Synchs Remote Queue With Local UpdatesJTS Synchs Remote Queue With Local Updates
333 EA-22
CSE333
Santa Cruz WidgetsSanta Cruz Widgets
Small Manufacturer Previously on C++ Small Manufacturer Previously on C++ New Order Entry, Inventory, and Invoicing New Order Entry, Inventory, and Invoicing
Applications in Java Programming Language Applications in Java Programming Language Existing Customer and Order Database Existing Customer and Order Database Most of Business Logic in Stored Procedures Most of Business Logic in Stored Procedures Tool-generated GUI Forms for Java ObjectsTool-generated GUI Forms for Java Objects Located Company on Web Using Widgets and Tcl, Located Company on Web Using Widgets and Tcl,
but Not Widgets and Javabut Not Widgets and Java
333 EA-24
CSE333
Two-Tier, Three-Tier, Four-Tier Two-Tier, Three-Tier, Four-Tier Example ArchitecturesExample Architectures
From: http://java.sun.com/javaone/javaone98/sessions/T400/index.html
333 EA-25
CSE333
Wombat SecuritiesWombat Securities
Web Access to Brokerage Accounts Web Access to Brokerage Accounts Only HTML Browser Required on Front End Only HTML Browser Required on Front End "Brokerbean" EJB Provides Business Logic "Brokerbean" EJB Provides Business Logic Login, Query, Trade Servlets Call Brokerbean Login, Query, Trade Servlets Call Brokerbean Use JNDI to Find EJBs, RMI to Invoke ThemUse JNDI to Find EJBs, RMI to Invoke Them Order and History Records from Java Blend Order and History Records from Java Blend
Product Product Records Mapped to Oracle Tables, JDBC Calls Records Mapped to Oracle Tables, JDBC Calls
333 EA-27
CSE333
Nocturnal Aviation, Inc.Nocturnal Aviation, Inc.
Passenger Check-in for Regional Airline Passenger Check-in for Regional Airline Local Database for Seating on Today's Flights Local Database for Seating on Today's Flights Clients Invoke EJBs at Local Site Through RMI Clients Invoke EJBs at Local Site Through RMI EJBs Update Database and Queue Updates EJBs Update Database and Queue Updates JMS Queues Updates to Legacy System JMS Queues Updates to Legacy System DBC API Used to Access Local Database DBC API Used to Access Local Database JTS Synchs Remote Queue With Local UpdatesJTS Synchs Remote Queue With Local Updates
333 EA-29
CSE333
Santa Cruz WidgetsSanta Cruz Widgets
Small Manufacturer Previously on C++ Small Manufacturer Previously on C++ New Order Entry, Inventory, and Invoicing New Order Entry, Inventory, and Invoicing
Applications in Java Programming Language Applications in Java Programming Language Existing Customer and Order Database Existing Customer and Order Database Most of Business Logic in Stored Procedures Most of Business Logic in Stored Procedures Tool-generated GUI Forms for Java ObjectsTool-generated GUI Forms for Java Objects Located Company on Web Using Widgets and Tcl, Located Company on Web Using Widgets and Tcl,
but Not Widgets and Javabut Not Widgets and Java