300 likes | 315 Views
Prepare for your final exam in Distributed Component Systems with valuable advice and hints from Prof. Steven A. Demurjian. Learn about key concepts like OO reuse, UML, software architecture, security, and more to excel in the exam. Use this resource to enhance your understanding and performance in the exam.
E N D
Distributed Component SystemsFinal 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 steve@engr.uconn.edu http://www.engr.uconn.edu/~steve (860) 486 - 4818
Core Material • 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?
Core Material • 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?
Core Material • 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?
Supplemental Material/Key Concepts • 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)
Role During Exam • 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
Hints for Taking Exam • 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!
Hints for Taking Exam • 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.
Concentration of Exam • 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”
Possible Questions • 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
Extra Slides for Final Examination • 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
Architectural Alternatives & Framework • 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
Java Client to Legacy App via RDBS Transformed Legacy Data Java Client Relational Database System(RDS) Updated Data Extract and Generate Data Transform and Store Data Legacy Application
ORB Integration of Java Clientand Legacy Application Java Client Legacy Application Java Wrapper Object Request Broker (ORB) CORBA is the Medium of Info. Exchange Requires Java/CORBA Capabilities
Java Client with Wrapper to Legacy Application Java Client Interactions Between Java Client and Legacy Appl. via C and RPC C is the Medium of Info. Exchange Java Client with C++/C Wrapper Java Application Code WRAPPER Mapping Classes JAVA LAYER NATIVE LAYER Native Functions (C++) RPC Client Stubs (C) Legacy Application Network
One COTS and One Legacy Application to Java Clients COTS Application Legacy Application Java Application Code Java Application Code Native Functions that Map to COTS Appl Native Functions that Map to Legacy Appl NATIVE LAYER NATIVE LAYER JAVA LAYER JAVA LAYER Mapping Classes Mapping Classes JAVA NETWORK WRAPPER JAVA NETWORK WRAPPER Network Java Client Java Client Java is Medium of Info. Exchange - C/C++ Appls with Java Wrappers
Two-Tier, Three-Tier, Four-Tier Example Architectures From: http://java.sun.com/javaone/javaone98/sessions/T400/index.html
Wombat Securities • 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
Nocturnal Aviation, Inc. • 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
Santa Cruz Widgets • 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
Two-Tier, Three-Tier, Four-Tier Example Architectures From: http://java.sun.com/javaone/javaone98/sessions/T400/index.html
Wombat Securities • 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
Nocturnal Aviation, Inc. • 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
Santa Cruz Widgets • 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