2 - 2 - 2013 class
Transcript of 2 - 2 - 2013 class
-
7/29/2019 2 - 2 - 2013 class
1/113
Client/Server and OS
-
7/29/2019 2 - 2 - 2013 class
2/113
Server program does
Waits for client-initiated requests
Executes many requests at the same time
Takes care of VIP clients first Initiates and runs background-task activity
Keeps running
Grows bigger and fatter
-
7/29/2019 2 - 2 - 2013 class
3/113
What Does a Server Need From an
OS?
Base Services
-
7/29/2019 2 - 2 - 2013 class
4/113
Base Services
Task Preemption
Task Priority
Semaphores
Interprocess Communications (IPC)
Local/Remote Interprocess Communications
Threads
Intertask Protection
Multiuser High-Performance File System Efficient Memory Management
Dynamically Linked Run-Time Extensions
-
7/29/2019 2 - 2 - 2013 class
5/113
What Does a Server Need From an
OS?
Extended Services
-
7/29/2019 2 - 2 - 2013 class
6/113
Extended Services
Ubiquitous Communications
Network Operating System Extensions
Binary Large Objects (BLOBs)
Global Directories and Network Yellow Pages
Authentication and Authorization Services
System Management
Network Time
Database and Transaction Services Internet Services
Object-Oriented Services
-
7/29/2019 2 - 2 - 2013 class
7/113
Server Scalability
-
7/29/2019 2 - 2 - 2013 class
8/113
Multiprocessing Superservers
-
7/29/2019 2 - 2 - 2013 class
9/113
clusters
-
7/29/2019 2 - 2 - 2013 class
10/113
Client Categories
-
7/29/2019 2 - 2 - 2013 class
11/113
Non-GUI Clients
Non-GUI clients that do not need multitasking
Non-GUI clients that need multitasking
-
7/29/2019 2 - 2 - 2013 class
12/113
GUI Clients
-
7/29/2019 2 - 2 - 2013 class
13/113
Object-Oriented User Interface
(OOUI) Clients
-
7/29/2019 2 - 2 - 2013 class
14/113
GUI Versus OOUI
Feature Grapical User Interface (GUI) Object-Oriented User Interface (OOUI)
Application Structure
A graphic application consists of an icon, a primary window with
a menu bar, and one or more secondary windows. The focus is
on the main task. Ancillary tasks are supported by secondary
windows and pop-ups. Users must follow the rigid task structure
(and may get trapped in a task). An application represents a
task.
A graphic application consists of a collection of
cooperating user objects. Everything that you see is an
object. Each object is represented by an icon and has at
least one view. Objects can be reused in many tasks. The
application's boundaries are fuzzy. The user defines
what's an application by assembling a collection of
objects. These objects may come from one or more
programs and are integrated with the desktop objects the
system provides (likes printers and shredders). The users
can innovate and create their own "Lego-like" object
collections.
Icons Icons represent a running application. Icons represent object that may be directly manipulated.
Starting an
ApplicationUsers start application before selecting an object to work with.
Users open the object on the desktop, which causes a
window view of the object to be displayed.
Windows
Users open a primary window and then specify the objects they
want to interact with. The same window can be used to displayother objects.
A window is a view of what's inside an object. There is a
one-to-one relationship between a window and anobject.
MenusMenus provide the primary method for navigating within an
application.
Each object has a context menu. You navigate within an
application or across applications by directly manipulating
objects. The desktop functions as one big menu; icons
represent the objects that you can manipulate.
Active Application
VisualIcons represent minimized windows of active applications.
Icons are augmented with the in-use emphasis to
represent an active object.
-
7/29/2019 2 - 2 - 2013 class
15/113
GUI Versus OOUI
Feature Grapical User Interface (GUI)Object-Oriented User Interface
(OOUI)
Direct ManipulationAn application may provide direct manipulation
on an ad hoc basis.
Objects are created, communicated with,
moved, and manipulated through drag-and-drop
manipulation.
Creating New Objects
Objects are created in an application-specific
manner, usually through some form of copy
mechanism or using the menu choices: new or
open.
A templates folder contains a template for every
object type. To create a new instance of an
object, drag its template to where you want the
new object to reside.
ActionsChoose object; then choose action from menu
bar.
In addition to choosing actions from menus, a
user can drag objects to icons to perform
operations; for example, dragging a file to a
printer icon.
ContainersText-based list boxes provide the primary form
of containment.
In addition to list boxes, OOUIs provide
container objects, including folders and
notebooks. These in turn can contain other
objects. Actions performed on container objectsaffect all the objects inside them.
Focus Focus is on the main task. Focus is on active objects and tasks.
Who Is In Control?Control alternates between the user and the
application.
All the applications behave the same and the
user acts as the conductor. Think of the user as
the visual programmer of the desktop.
Product Examples Windows 3.X, Motif, and simple Web pages.
NextStep/Mac OS X, Mac OS, Windows 98, OS/2
Workplace Shell, and Web pages that take
advantage of Java 2 JavaBeans.
-
7/29/2019 2 - 2 - 2013 class
16/113
Compound Documents: OOUIs on
Steroids
-
7/29/2019 2 - 2 - 2013 class
17/113
Shippable Places
-
7/29/2019 2 - 2 - 2013 class
18/113
What Does a Client Need From an OS?
Requirements From an
OS
Non-GUI Client Simple GUI
ClientOOUI ClientWithout
MultitaskingWith Multitasking
Request/reply mechanism
(preferably with local/remote
transparency)
Yes Yes Yes Yes
File transfer mechanism tomove picture, text, and
database snapshots
Yes Yes Yes Yes
Pre-emptive multitasking No Yes Desirable Yes
Task priorities No Yes Desirable Yes
Inter-process communications No Yes Desirable Yes
Threads for background
communications with server
and receiving callbacks from
servers
No YesYes (unless you like
the hourglass icon)Yes
OS robustness, including
intertask protection and
reentrant OS calls
No Yes Desirable Yes
-
7/29/2019 2 - 2 - 2013 class
19/113
Client/Server Hybrids
Clients are becoming more intelligent These "New Age" clients must provide a server lite
function
It should still be able to download shippableplaces, run Java applets, and receive calls from a
server
A server lite implementation does not need tosupport concurrent access to shared resources,
load balancing, or multithreaded communications
-
7/29/2019 2 - 2 - 2013 class
20/113
Client OS Trends
The desktop is becoming more fragmented
The universal client is really a Web browser
There will be a huge demand for super-fat PCs There will be a huge demand for ultra-thin PCs
Shippable places will become the new desktops
Embedded clients will be everywhere
-
7/29/2019 2 - 2 - 2013 class
21/113
Client OS: Meet the Players
-
7/29/2019 2 - 2 - 2013 class
22/113
Server OS Trends
Application vs Mixed Server File/Print Server
Unix 83.00% 17.00%
Windows NT 46.00% 54.00%
OS/2 Warp
Server31.80% 68.20%
NetWare 18.00% 82.00%
-
7/29/2019 2 - 2 - 2013 class
23/113
NOS Middleware: The Transparent
Illusion
-
7/29/2019 2 - 2 - 2013 class
24/113
What Does Transparency Really
Mean?
Location transparency
Namespace transparency
Logon transparency
Replication transparency
Local/remote access transparency
Distributed time transparency
Failure transparency
Administration transparency
-
7/29/2019 2 - 2 - 2013 class
25/113
NOS: Extending the Local OS's Reach
-
7/29/2019 2 - 2 - 2013 class
26/113
Global Directory Services
-
7/29/2019 2 - 2 - 2013 class
27/113
Federated Directories
-
7/29/2019 2 - 2 - 2013 class
28/113
types of synchronization schemes
Immediate replication causes any update to
the master to be immediately shadowed on all
replicas
Skulking causes a periodic propagation (for
example, once a day) to all the replicas of all
changes made on the master
-
7/29/2019 2 - 2 - 2013 class
29/113
How Do You Interface to These
Directories?
Directory-specific APIs and class libraries
LDAP and X.500 APIs Java classes
Distributed object interfaces
Meta-directory services and scripts
-
7/29/2019 2 - 2 - 2013 class
30/113
Distributed Time Services
It periodically synchronizes the clocks on every
machine in the network
It introduces an inaccuracy component to
compensate for unequal clock drifts that occur
between synchronizations
-
7/29/2019 2 - 2 - 2013 class
31/113
Distributed Security Services
-
7/29/2019 2 - 2 - 2013 class
32/113
Can We Obtain C2-Level Security on
the Intergalactic Net?
Authentication: Are you who you claim to be?
Authorization: Are you allowed to use this
resource?
Audit Trails: Where have you been?
-
7/29/2019 2 - 2 - 2013 class
33/113
Can We Do Better Than C2 on the
Intergalatic Net?
Integrity: Is My In-Transit Data Safe?
- Encryption- Cryptographic checksums
Non-Repudiation: Can You Prove It in Court?-Evidence of message creation
- Evidence of message receipt
- An action timestamp
- The evidence long-term storage facility
- The adjudicator
.
-
7/29/2019 2 - 2 - 2013 class
34/113
The Non-Repudiation Framework
-
7/29/2019 2 - 2 - 2013 class
35/113
The Internet: In Certificates We Trust
How Do You Like your Keys?
- Shared Private Keys
- Public Keys
-
7/29/2019 2 - 2 - 2013 class
36/113
The Shared Private Key Approach to
Encryption
-
7/29/2019 2 - 2 - 2013 class
37/113
The Public/Private Key Approach to
Encryption
-
7/29/2019 2 - 2 - 2013 class
38/113
Using Public/Private Keys to Send
Signed Documents and Contracts
-
7/29/2019 2 - 2 - 2013 class
39/113
So What Exactly Is a Digital
Certificate?
-
7/29/2019 2 - 2 - 2013 class
40/113
A Certificate Usage Scenario
Jeri must first obtain a certificate
Jeri applies for a store account
Merchant determines if the certificate is OK
Jeri's certificate is OK
Jeri can now shop, shop, shop
-
7/29/2019 2 - 2 - 2013 class
41/113
What a Certificate Authority Does
Today
-
7/29/2019 2 - 2 - 2013 class
42/113
Electronic Payments: The SET Protocol
Jeri places an order
Merchant asks bank for authorization
The bank asks the credit card issuer for
authorization The credit card company approves the
transaction
The bank says it's OK
The merchant sends Jeri a receipt and ships goods
Jeri receives her monthly credit card bill
-
7/29/2019 2 - 2 - 2013 class
43/113
SET: The Next Electronic Shopping and
Payment Infrastructure
-
7/29/2019 2 - 2 - 2013 class
44/113
Network operating system
A 'networking operating system ' is an
operating system that contains components
and programs that allow a computer on a
network to serve requests from othercomputers for data and provide access to
other resources such as printer and file
systems.
-
7/29/2019 2 - 2 - 2013 class
45/113
Features
Add, remove and manage users who wish to useresources on the network.
Allow users to access to the data on the network. Thisdata commonly resides on the server.
Allow users to access data found on other networksuch as the internet.
Allow users to access hardware connected to thenetwork.
Protect data and services located on the network. Enables the user to pass documents on the attached
network.
-
7/29/2019 2 - 2 - 2013 class
46/113
features may include
basic support for hardware ports security features such as authentication, authorization,
login restrictions, and access control
name services and directory services
file, print, data storage, backup and replication services remote access
system management
network administration and auditing tools with graphic
interfaces clustering capabilities
fault tolerance and high availability
Wh th M t P l St k Fit i th OSI
-
7/29/2019 2 - 2 - 2013 class
47/113
Where the Most Popular Stacks Fit in the OSI
Reference Model
-
7/29/2019 2 - 2 - 2013 class
48/113
Peer-to-Peer Communications
Sockets
NetWare: IPX/SPX and TLI
NetBIOS and NetBEUI
Named Pipes
Th "N " SNA APPC APPN d
-
7/29/2019 2 - 2 - 2013 class
49/113
The "New" SNA: APPC, APPN, and
CPI-C
-
7/29/2019 2 - 2 - 2013 class
50/113
Remote Procedure Call (RPC)
An essential problem is that RPCs are not
procedure calls at all; they are truly process
invocations. The invoked program runs across
the wire in a different resource domain
-
7/29/2019 2 - 2 - 2013 class
51/113
Remote Procedure Call
(1)
(8)
LPC Bind req
Recv bind
marshalSend req
Recv
result
unmarsh
return
(5)
(6)
execute
return
recv req
unmarsh
LPC
marshal
send
result
recv req
register
or search
return
client server
Binding server
(8)
(0)
(1)
(7)
(6)
(5)
(4)
(3)
(2)
-
7/29/2019 2 - 2 - 2013 class
52/113
Distributed Systems 52
Remote Procedure Call: steps
(0) Remote procedures registration;(1) Client procedure calls client stub in normal way;
(2) Client stub sends a binding request asking for information;
(3) Binding server searches for binding and reply to client stub;
(4) Client stub packs a message (marshalling) and send to server stub;
(5) Server stub unpacks parameters (unmarshalling), invokes LPC;(6) Server procedure executes and returns results to server stub;
(7) Server stub packs results (marshalling) and sends to client stub;
(8) Client stub unpacks results and returns to client procedure.
Call-by-value: parameter is a straight value (int, float, )
Call-by-reference: parameter is a pointer to anything (int,
record, array, pointer, )
-
7/29/2019 2 - 2 - 2013 class
53/113
The stub is application-specific code, but it isnot directly generated by the application writer
and therefore appears as a separate layer from
the programmer's point of view.
The function of the stub is to provide
transparency to the programmer-written
application code.
Stubs
-
7/29/2019 2 - 2 - 2013 class
54/113
1.On the client side:
The stub handles the interface between the
client's local procedure call and the run-time
system, marshaling and unmarshaling data,
invoking the RPC run-time protocol, and if
requested, carrying out some of the binding steps.
2. On the server side:
The stub provides a similar interface between therun-time system and the local manager
procedures that are executed by the server.
-
7/29/2019 2 - 2 - 2013 class
55/113
Issues faces by RPC
How are the server functions located and started
How are parameters defined and passed between
the client and the server
How are failures handled
How is security handled by the RPC
How does the client find its server
How is data representation across systems
handled
-
7/29/2019 2 - 2 - 2013 class
56/113
The Mechanics of an RPC Stub Compiler
-
7/29/2019 2 - 2 - 2013 class
57/113
Getting a Seat for a Madonna Concert Using RPCs
Messaging And Queuing: The Mom
-
7/29/2019 2 - 2 - 2013 class
58/113
Messaging And Queuing: The Mom
Middleware
Every DAD needs a MOM
DAD stands for Distributed Application
Development
MOM stands for Message-Oriented
Middleware
-
7/29/2019 2 - 2 - 2013 class
59/113
MOM: Two-way Message Queuing
MOM: Save Your Messages Until You
-
7/29/2019 2 - 2 - 2013 class
60/113
MOM: Save Your Messages Until You
Get to a Server
MOM: Many to Many Messaging via
-
7/29/2019 2 - 2 - 2013 class
61/113
MOM: Many-to-Many Messaging via
Queues
-
7/29/2019 2 - 2 - 2013 class
62/113
Mom Versus RPC
Feature MOM: Messaging and Queuing Remote Procedure Call (RPC)
-
7/29/2019 2 - 2 - 2013 class
63/113
Feature MOM: Messaging and Queuing Remote Procedure Call (RPC)
Metaphor Post office-like. Telephone-like.
Client/Server time relationship
Asynchronous. Clients and
servers may operate atdifferent times and speeds.
Synchronous. Clients and
servers must run concurrently.
Servers must keep up withclients.
Client/Server sequencing No fixed sequence.
Servers must first come up
before clients can talk to them.
Style Queued. Call-Return.
Partner needs to be available No. Yes.
Load-balancing
Single queue can be used to
implement FIFO or priority
based policy. Requires a separate TP Monitor.
Transactional support
Yes (some products). Message
queue can participate in the
commit synchronization.
No. Requires a transactional
RPC.
Message filtering Yes. No.
Performance
Slow. An intermediate hop is
required. Fast.
Asynchronous processingYes. Queues and triggers arerequired.
Limited. Requires threads and
tricky code for managingthreads.
Dynamic Data Exchange (DDE)
-
7/29/2019 2 - 2 - 2013 class
64/113
Dynamic Data Exchange (DDE)
Dynamic Data Exchange or DDE is a Windows feature that allowsWindows applications to communicate with each other. DDE is
based on the messaging system built into Windows. Two Windows
programs can carry on a DDE "conversation" by posting messages to
each other. These two programs are known as the "server" and the
"client". A DDE server is the program that has access to data that
may be useful to other Windows programs. A DDE client is the
program that obtains this data from the server.
-
7/29/2019 2 - 2 - 2013 class
65/113
What is CORBA?
Common Object Request Broker Architecture
Communication infrastructure for distributed
objects
Allows a heterogeneous, distributed collection
of objects to collaborate transparently
-
7/29/2019 2 - 2 - 2013 class
66/113
What is CORBA good for?
Developing distributed applications
Locating remote objects on a network
Sending messages to those objects
Common interface for transactions, security,
etc.
CORBA Services (more later)
-
7/29/2019 2 - 2 - 2013 class
67/113
Copyright 1998 Purple Technology, Inc.
Why Distributed Applications?
Data is distributed
Administrative and ownership reasons
Heterogeneous systems
Shared by multiple applications
Scalability
-
7/29/2019 2 - 2 - 2013 class
68/113
Copyright 1998 Purple Technology, Inc.
Why Distributed Applications?
Computation is distributed
Scalability: multiprocessing
Take computation to data
Heterogeneous architectures
Users are distributed
Multiple users interacting and communicating via
distributed applications
-
7/29/2019 2 - 2 - 2013 class
69/113
Distributed Object Systems
All entities are modeled as objects
Systems support location transparency
Interfaces, not implementations, define
objects
Good distributed object systems are open,
federated systems
-
7/29/2019 2 - 2 - 2013 class
70/113
What is the OMG?
Designers of CORBA
Consortium of 700+ companies
Not including Microsoft
Members: platform vendors
database vendors
software tool developers
corporate developers
software application vendors
-
7/29/2019 2 - 2 - 2013 class
71/113
Its Just A Spec
Has never been fully implemented
Probably never will be
Industry moves quickly and spec has to keep
up
-
7/29/2019 2 - 2 - 2013 class
72/113
Basic CORBA Architecture
Client Server
ORB ORB
requestresponse
Object Bus
-
7/29/2019 2 - 2 - 2013 class
73/113
Copyright 1998 Purple Technology, Inc.
CORBA Objects
Examples
Service
Client
Component Business object
CORBA objects approach universal accessibility
Any Language
Any Host on network
Any Platform
-
7/29/2019 2 - 2 - 2013 class
74/113
what CORBA does on the client side
The client IDL stubs
The Dynamic Invocation Interface (DII)
The Interface Repository APIs
The ORB Interface
-
7/29/2019 2 - 2 - 2013 class
75/113
what CORBA elements do on the server
The Server IDL Stubs (OMG calls them
skeletons)
The Dynamic Skeleton Interface (DSI)
The Object Adapter
The Implementation Repository
The ORB Interface
-
7/29/2019 2 - 2 - 2013 class
76/113
Copyright 1998 Purple Technology, Inc.
CORBA Elements
1. ORB
2. CORBA Services
3. CORBA Facilities
4. Application Objects
-
7/29/2019 2 - 2 - 2013 class
77/113
Copyright 1998 Purple Technology, Inc.
ORB
Object Request Broker
Object Bus
Handles all communication among objects
Each host (machine) has its own ORB
ORBs know how to talk to each other
ORB also provides basic services to client
-
7/29/2019 2 - 2 - 2013 class
78/113
Copyright 1998 Purple Technology, Inc.
ORB Responsibilities
Find the object implementation for the
request
Prepare the object implementation to receive
the request
Communicate the data making up the request
Retrieve results of request
k f
-
7/29/2019 2 - 2 - 2013 class
79/113
Copyright 1998 Purple Technology, Inc.
Network of ORBs
Theres an ORB on the server too
ORB receives request
ORB Vers s RPC
-
7/29/2019 2 - 2 - 2013 class
80/113
ORB Versus RPC
With an RPC, you call a specific function (thedata is separate).
In contrast, with an ORB, you're calling a methodwithin a specific object.
ORB method invocations have "scalpel-like"precision. The call gets to a specific object thatcontrols specific data, and then implements thefunction in its own class-specific way.
RPC calls have no specificityall the functions
with the same name get implemented the sameway. There's no differentiated service here.
O C
-
7/29/2019 2 - 2 - 2013 class
81/113
Copyright 1998 Purple Technology, Inc.
ORB Versus RPC
IIOP
-
7/29/2019 2 - 2 - 2013 class
82/113
Copyright 1998 Purple Technology, Inc.
IIOP
Internet Inter-Orb Protocol
Network or wire protocol
Works across TCP/IP (the Internet protocol)
ORB F
-
7/29/2019 2 - 2 - 2013 class
83/113
Copyright 1998 Purple Technology, Inc.
ORB Features
Method invocations
Static and Dynamic
Remote objects or CORBA services
High-level language bindings
Use your favorite language; ORB translates
Self-describing
Provides metadata for all objects and services
ORB F
-
7/29/2019 2 - 2 - 2013 class
84/113
Copyright 1998 Purple Technology, Inc.
ORB Features
Local or remote
Same API wherever target object lives
Preserves context
Distributed security and transactions
Coexistence with legacy code
Just provide a wrapper object
Wh t i ORB ll ?
-
7/29/2019 2 - 2 - 2013 class
85/113
Copyright 1998 Purple Technology, Inc.
What is an ORB really?
Not a separate process
Library code that executes in-process
Listens to TCP ports for connections
One port per local object
Opens TCP sockets to other objects
N ports per remote machine
IDL
-
7/29/2019 2 - 2 - 2013 class
86/113
Copyright 1998 Purple Technology, Inc.
IDL
Interface Definition Language
Defines protocol to access objects
Like a contract
Well-specified
Language-independent
IDL E l
-
7/29/2019 2 - 2 - 2013 class
87/113
Copyright 1998 Purple Technology, Inc.
IDL Example
module Calc {
interface Adder {
long add(in long x, in long y);
}
} Defines an object called Adder with a method
called add
St b d Sk l t
-
7/29/2019 2 - 2 - 2013 class
88/113
Copyright 1997 Alex Chaffee
Stubs and Skeletons
Stub
lives on client
pretends to be remote object
Skeleton
lives on server
receives requests from stub
talks to true remote object
delivers response to stub
St b d Sk l t (Fi )
-
7/29/2019 2 - 2 - 2013 class
89/113
Copyright 1997 Alex Chaffee
Stubs and Skeletons (Fig.)
IIOPORB
Client Host Machine
Client Object
ORB
Server Host Machine
Stub
Remote Object
Skeleton
Cli t S
-
7/29/2019 2 - 2 - 2013 class
90/113
Client vs. Server
in CORBA, a client is a client relative to aparticular object i.e. an object with a
reference to a server object
A client may also act as a server If it has an IDL and stubs and skeletons
Technically, a CORBA server contains one or
more CORBA objects
Diff t M i f S
-
7/29/2019 2 - 2 - 2013 class
91/113
Copyright 1998 Purple Technology, Inc.
Different Meanings of Server
Host machine
Program running on host machine
CORBA object running inside program
has IDL, stub, skeleton
Sometimes called a Servant
Stubs and Skeletons -> Platform
-
7/29/2019 2 - 2 - 2013 class
92/113
Independence
Client code has no knowledge of theimplementation of the object or which ORB is
used to access the implementation.
CORBA Services
-
7/29/2019 2 - 2 - 2013 class
93/113
Copyright 1998 Purple Technology, Inc.
CORBA Services
APIs for low-level, common tasks
Life Cycle Service
creating, copying, moving, removing objects
Naming Service
Register objects with a name
Look up objects by name
CORBA Services
-
7/29/2019 2 - 2 - 2013 class
94/113
Copyright 1998 Purple Technology, Inc.
CORBA Services
Concurrency Control Service
Obtain and release exclusive locks
Transaction Service
Two-phase commit coordination
Supports nested transactions
Persistence Service
Storing objects in a variety of databases
RDBMS, OODBMS, file systems
CORBA Services
-
7/29/2019 2 - 2 - 2013 class
95/113
Copyright 1998 Purple Technology, Inc.
CORBA Services
Security Service
Authentication, ACLs, encryption, etc.
Event Service
Uncoupled notifications
CORBA Services
-
7/29/2019 2 - 2 - 2013 class
96/113
Copyright 1998 Purple Technology, Inc.
CORBA Services
Relationship Externalization
Query
Licensing
Properties
Time
Trader
Collection
and so on
See what I mean about it never beingimplemented?
CORBA Facilities
-
7/29/2019 2 - 2 - 2013 class
97/113
Copyright 1998 Purple Technology, Inc.
CORBA Facilities
Frameworks for specialized applications
Distributed Document Component Facility
OpenDoc
In progress:
Agents
Business Objects
Internationalization
-
7/29/2019 2 - 2 - 2013 class
98/113
-
7/29/2019 2 - 2 - 2013 class
99/113
-
7/29/2019 2 - 2 - 2013 class
100/113
-
7/29/2019 2 - 2 - 2013 class
101/113
-
7/29/2019 2 - 2 - 2013 class
102/113
-
7/29/2019 2 - 2 - 2013 class
103/113
-
7/29/2019 2 - 2 - 2013 class
104/113
-
7/29/2019 2 - 2 - 2013 class
105/113
-
7/29/2019 2 - 2 - 2013 class
106/113
-
7/29/2019 2 - 2 - 2013 class
107/113
-
7/29/2019 2 - 2 - 2013 class
108/113
-
7/29/2019 2 - 2 - 2013 class
109/113
-
7/29/2019 2 - 2 - 2013 class
110/113
-
7/29/2019 2 - 2 - 2013 class
111/113
-
7/29/2019 2 - 2 - 2013 class
112/113
-
7/29/2019 2 - 2 - 2013 class
113/113