Distributed Component Systems Final Exam Advice and Hints

W
Document Sample
scope of work template
							         Distributed Component Systems
          Final Exam Advice and Hints
              Prof. Steven A. Demurjian, Sr.
         Computer Science & Engineering Department
CSE333         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




                                                     333 EA-1
                          Core Material
            OO Reuse Methodology and Framework
               What are the Key Reuse Concepts?
CSE333         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
            Software Architecture
               What are the Different Styles?
CSE333         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
            UML + Security
              Security Issues and Security Models
CSE333        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
            Supplemental Material: No Direct Questions
               Java: Risks/Benefits: Lecture/Readings
CSE333         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
            Software Engineer/Designer/Architect
               Conduct Design and Analysis
CSE333         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
          Read the Questions Carefully!
          Ask Questions if you are Confused!
CSE333    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
            Don't Define Concepts
               E.G., Ask About Concept X, Don't Explain
CSE333          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
            Concentration on Issues Related to
              UML, Reuse, Reuse + UML
CSE333        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
            4 to 6 Total Multi-Part Questions -- Possibilities…
               Security
CSE333         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
            Two Sets of Slides
            From Interoperability/Enterprise Computing
CSE333       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

            Reviewing Architectural Variants
               Java Client to Legacy Appl. via RDBS
CSE333
               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
                                             Relational
CSE333        Java Client
                                              Database
                             Updated Data   System(RDS)


                      Extract and
                      Generate Data
                                            Transform and
                                            Store Data




                             Legacy
                            Application




                                                            333 EA-13
         ORB Integration of Java Client
           and Legacy Application

                                      Legacy
CSE333      Java Client
                                     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                                Interactions Between Java Client
         Java Application Code        and Legacy Appl. via C and RPC
                        WRAPPER
              Mapping Classes         C is the Medium of Info. Exchange
         JAVA LAYER
                                      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
          COTS Application         Legacy Application


CSE333   Java Application Code     Java Application Code

           Native Functions that     Native Functions that
            Map to COTS Appl          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
                                                                 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
          Web Access to Brokerage Accounts
          Only HTML Browser Required on Front End
CSE333    "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.
          Passenger Check-in for Regional Airline
          Local Database for Seating on Today's Flights
CSE333    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
            Small Manufacturer Previously on C++
            New Order Entry, Inventory, and Invoicing
CSE333       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
          Web Access to Brokerage Accounts
          Only HTML Browser Required on Front End
CSE333    "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.
          Passenger Check-in for Regional Airline
          Local Database for Seating on Today's Flights
CSE333    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
            Small Manufacturer Previously on C++
            New Order Entry, Inventory, and Invoicing
CSE333       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

						
Related docs