BVD notes

2. CORBA Overview

2.1, 2.2, 2.3.1-4, 7-8 now
2.3.5 => Orb and Object iterfaces, 2.3.6 => POA, 2.3.10 => DII/DSI, 2.3.11 => IR

3. Overview of Java and Java ORBs

3.1-5  Java review, some comparison to IDL
3.6 Applets X
3.7 Servlets X
3.8 Hello World
3.9 JavaBeans
3.10 Java ORB terminology: Java object vs CORBA object (reference and implementation/servant), operation vs method, servant object vs server program (a role vs client)
3.11 Clients and servers as Java apps: fig p 131.  stub and skeletons.  ORB and Object Adapter, Implementation Repository (activation).
3.12 Clients as applets: sandbox vs location transparency, IIOP Gateway: fig p 135
3.13 Clients as servlets: CORBA servlet: browser doesn't need IIOP, fig p 136
3.14 Servers as applets: e.g. callback, two "event" loops, fig p 137
3.15 Non-Java ORBs: fig p 317
3.16 Standards and products: IDL to Java 4/97, CORBA 2.3 with POA 6/99, Java ORB with JDK 1.2 and Netscape, open srouce ORBs

4. A first Java ORB app

4.6 applet X

5.OMG IDL to Java mapping

tie mechanism: 5.14.4.1, 9.4
portability: 5.14.1-2, 5.17.3-4
5.14.4.2 threading => POA

8. Building applications

8.1 rooms have meetings indexed by time slots, IDL p 325-7
8.2 servant Impls p328-331
8.3 server p 332-5 (with Naming Service)
8.4 factory Impl and server p 336-8
8.5 running servers p 338-9
8.6 clients: UI p 340-2, applet p 342-3, app p 344-56

10. Practical POA programming

10.1 POA policies
10.2.1 app UI
10.2.2: struct Date & enums (p 420);  Meeting (p 420-1), MeetingFactory (p 422);  "Building Service": Room (p 422-3: a booking is a string, not a Meeting), Building (p 423) creates Room;  DigitalSecretary (p 423-4) == participant, notify & invite
10.2.3-4 Diary (p 424-6): extends TreeMap of Objects (Strings for RoomImpl and refs?? for SecretaryImpl) by Dates, currentDate public?, enter, clearDay, getDay, getToday (TreeMap methods?!);  Externalizable (p 428-9) using object_to_string and string_to_object for references and (screwy impl: redo this map);  must call init(orb) (p 429) after <init> (uggh!)
10.2.5.1 Building Service: RoomImpl (p 430-3) viewDayBookings arraycopy Obj[] to Str[]!, site & siteIOR!, init(orb)!;  BuildingImpl (p 433-5) create doesn't activate ("factory"POA for room refs), but serializes room to file for locator (roomImplList?), exc handling??
10.2.5.2 PERSISTENT, NON_RETAIN, USE_SERVANT_MANAGER and USER_ID for Room => RoomLocator (p 437-9) deserializes RoomImpl, serializes if dirty;   PERSISTENT, RETAIN, USER_ID, USE_ACTIVE_OBJECT_MAP_ONLY for Building => BuildingServer (p 439-443) main creates POAs (fig p 445), set_servant_manager, activate locator with _this (p 441), takes building name and deserializes BuildingImpl, export to naming service (p 443), serializes after shutdown;  static shutdown??!!
10.2.6 RETAIN for Meetings, deactivate after occurrence, but no callback for this in Servant Activator => USE_DEFAULT_SERVANT (vs thread) with MeetingDefaultServant (p 447-452);  nested class MeetingState (p 448) accessors restoreState, do operation, and releaseState, Servant._object_id (p 449), both refs & stringIORs!;  MeetingServer (p 452-4) main creates POA, set_servant, USE_DEFAULT_SERVANT & RETAIN!!??;  MeetingFactoryImpl (p 454-6) create Meeting ref, sets default servant state with createState and activates servant (but default servant always calls restoreState!!??)
10.2.7 DigitalSecretary "provides UI (not remote) and CORBA intf to send messages to user of DigitalSecretary";  SecreataryServer (p 458-61) main takes user name and deserializes DigitalSecretaryImpl if any, creates servant if not, create POA, export and activate servant, serializes after shutdown;  static shutdown??!!  DigitalSecretaryImpl (p 462-6) init after deserialization to build ref table and name lists, scheduleMeeting (String[] meetinData s/b struct!) creates a meeting (DigitalSecretaryImpl is on the client and methods are called from event thread, not as a CORBA request invocation so Servant._this_object can't be used: store _this in init)