Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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