333 ea-1 cse333 distributed component systems final exam advice and hints prof. steven a. demurjian,...

30
333 EA-1 CSE333 Distributed Component Distributed Component Systems Systems Final Exam Advice and Hints Final Exam Advice and Hints 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

Post on 22-Dec-2015

220 views

Category:

Documents


1 download

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-19

CSE333

Four-Tier Architecture ExampleFour-Tier Architecture Example

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-21

CSE333

Three-Tier ExampleThree-Tier Example

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-23

CSE333

Santa Cruz Widgets (2-tier) Santa Cruz Widgets (2-tier)

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-26

CSE333

Four-Tier Architecture ExampleFour-Tier Architecture Example

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-28

CSE333

Three-Tier ExampleThree-Tier Example

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

333 EA-30

CSE333

Santa Cruz Widgets (2-tier) Santa Cruz Widgets (2-tier)