The flashcards below were created by user djon on FreezingBlue Flashcards.

  1. Distributed
    a multi-tier application running across single/multiple machines
  2. Why distribute an application?
    • application needs to support an expandable number of users
    • the application data needs to be secured
  3. costs of distributed design
    • degraded performance
    • added complexity
  4. chunky interfaces
    • cluster behaviours into larger methods
    • less method calls
  5. stateless objects
    objects may be replaced, destroyed and recreated between method calls
  6. interface vs implementation
    • interface - describes how the object should be used by the client
    • implementation - behaviours can be modified without modifying the interface
  7. COM
    • Component Object Model
    • does not specify which language must be used
    • uses binary
    • relies on the system registry
  8. .NET
    • assemblies compile to machine-independent byte-code (MSIL)
    • at runtime, MSIL compile to machine code by CLR
  9. CLR
    • Common Language Runtime
    • runtime platform that sets standards for implementing compatible software modules
    • provides runtime services to applications
  10. CLR Garbage Collection
    • CLR disposes object for the developer
    • disposes when object goes out of scope
  11. Assemblies
    • 1. .NET program modules
    • 2. compiles code in MSIL format
    • 3. CLR translates assemblies at runtime
  12. Private assembly
    • DLL is used by a single client
    • dll copied to the client's assembly folder
  13. Shared assembly
    • goes in Global Assembly Cache(GAC)
    • must have a strong name
    • dll not copied to clients assemble folder
  14. strong name
    • friendly name
    • assembly's version number
    • optional cultural value ("en-US")
    • public key value
    • digital signature
  15. Delayed signing
    • so you don't have to give out your private key
    • reserves space for the signature on the private key
    • GAC ignores this requirement on so developing can take place
  16. 3 types of policy files
    • application policy
    • publisher's policy
    • machine policy
  17. application policy
    • first
    • only affects a single application
    • deployed as raw XML in the client folder
  18. Publisher's Policy
    • second
    • affects apps that use a shared assembly
    • signed assembly in GAC
  19. Machine Policy
    • third
    • allows admins to have control on binding policy
    • deployed as raw XML in the machine.config file
  20. early binding
    client gets type information about a library assembly at design time
  21. late binding
    client gets type information about library assembly at runtime
  22. metadata in assemblies
    • features accessible to clients such as
    • types, methods and properties
  23. Non-deterministic
    • don't know when the objects memory will be released
    • don't know the order the objects will be destroyed
  24. dispose()
    • determinisitic finaliztion code
    • invoked by the client when the time comes
  25. finalize
    • non-deterministic finalization code
    • object with this method is placed in queue and Finalize is called by GC
    • don't actually write finalize() - instead implement a destructor
  26. COM Interop
    • gives a larger pool of existing software components that we can use
    • custom software wrapper to bridge between 2 technologies
  27. 2 COM Callable wrappers
    • CCW
    • RCW
  28. CCW
    • COM Callable Wrapper 
    • non-.NET client using .NET component
    • .tlb
  29. RCW
    • Runtime Callable wrapper
    • .NET client using COM component
    • .DLL file
  30. two application boundaries
    • process
    • application domain
  31. AB Process
    • defined by OS
    • confined to a single computer
    • OS assigns memory addresses and schedules time for the app
  32. AB App. Domain
    • The logical and physical boundary created around every .NET application
    • 1 or more can exist within a process
    • message passing rather than direct memory addressing
  33. advantage of app. domains
    lets you configure your application to optimize performance, scalability, info sharing and fault tolerance
  34. managed vs. unmanaged object
    • managed - .net assemblies
    • unmanged - com components -  manage their own lifetimes - no garbage collection
Card Set
Show Answers