KFK Vorlesung SEW / AT Lecture 2 Technical application of hierarchic view Standardization DLL OLE...
-
Upload
osborne-atkinson -
Category
Documents
-
view
216 -
download
1
Transcript of KFK Vorlesung SEW / AT Lecture 2 Technical application of hierarchic view Standardization DLL OLE...
KFK Vorlesung SEW / ATLecture 2
Technical application of hierarchic view
Standardization
DLL OLE COM COM+ DCOM ORB
Web Services
A systemic (hierarchical) view of IT
Common examples - Management Information Systems - Computer Communications - Programming languages - Databases
- Objects
A hierarchical view of programming syntax
CLec1Dlg dlg; m_pMainWnd = &dlg; int nResponse = dlg.DoModal(); if (nResponse == IDOK) { if (nResponse == IDOK) a = 3 else a = 4; } else if (nResponse == IDCANCEL) { if (nResponse == IDOK) a = 31 else a = 42; }
<studies> <-- a tag <Program> <-- a tag for the type Administration <-- data <Cours> ADM 1301 (An offering) <-- data <Cours> ADM 1300 (A course prerequisite) <Professor> Koppel (Instructor) <Cours> ADM 2300 (A course offered by the professor) <Professor> Kindra (A guest lecturer) <Cours> ADM 2371 (A course offered by the professor) <Cours> ADM 4301 <Program> Computer Science
Hierarchical view of information
Hierarchical view of information
Program: ADM
studies
Prof: KoppelCours: ADM1301
Program: CSI
Cours: ADM4301
Course: ADM2301
Professor: Kindra
Cours: ADM1300
Cours: ADM2771
instructor
instructor
prerequisite
invited
<studies> <Program> Administration <Cours> ADM 1301 (An offering) <Cours> ADM 1300 (A course prerequisite) </Cours> </Cours> <Professor> Koppel (Instructor) <Cours> ADM 2300 (A course offered by the professor) <Professor> Kindra (A guest lecturer) <Cours> ADM 2371 (A course offered by the professor) </Cours> </Professor> </Cours> </Professor> <Cours> ADM 4301 </Cours> </Program> <Program> Computer Science </Program></studies>
Hierarchical view of information
A hierarchical view of programming syntax
double fun( int a, int b , int c )
{ double p;
p = exp(a);
q = p + b ;
r = q - c;
return r;
};
A hierarchical view of programming syntax
void fun2( int a, int b , int c, int & d , int & e )
{
a = 4;
b = a + c;
d = 100* b;
e = a* b;
};
To simplify ...
int fun2( int a, int b , int c, int & d , int & e )
{
a = 4;
b = a + c;
d = 100* b;
return e = a* b;
};
A systemic view of programming syntax
int fun2( int a, int b , int c, int & d , int & e )
{
a 4;
b a + c;
d 100* b;
return e a* b;
};
A systemic view of programming syntax
However, pass by value does not fit well with process orientation
- need to make copies of variables - we really would like to change the value of
the variables
Additional devices: g = fun2( a, b, c, d , e )
int fun2( &pa, &pb, &pc, &pd , &pe )
Another example: DBMS
Originally hierarchical:
Department
Employee Support
Employment Office Equipment
DBMS
Then relational
object-oriented:
many databases (especially those containing multimedia information) have complex structures not well suited to relational DB.
DBMS: levels of abstraction
Conceptual Software: Application Operating System Firmware Instruction Set Architecture: Representation Hardware
DBMS: some standards boards
CODASYL List Processing Task Force (later called theData Base Task Group) to construct COBOL database extensions
ANSI-Standard SQL
OMG Object Management Group
System integrationA a = new A();a.s = textBoxSerText.Text;
XmlSerializer serializer = new XmlSerializer(typeof(A));TextWriter writer = new StreamWriter(“file1.txt”
serializer.Serialize(writer, a);writer.Close();
TextReader reader = new StreamReader(“file2.xml);A b = (A)serializer.Deserialize(reader);textBoxShowText.Text = b.s;reader.Close();
User’s Program
Library program
Introduction: dynamic link library
execute
User’s Program
Beginning of integration!
execute
User’s Program
Library program
Cost and benefit of dynamic link library
execute
New version
Benefit but danger!
Not product, but standardEvolving COM2, COM+, DCOM
Component Object Model (MicroSoft’s) effort toward sharing objects (Programming) Language independent Specified by ODL (Object Description Language) ~ IDL (Interface Description Language)
Component Object Model (COM)
Component Objects
Component Object Model supported in most MicroSoft environments: Visual Basic, Visual C++, Visual J++
but also: Delphi (Borland) PowerBuilder (SmallTalk)
CORBA (ORB, see next)
Object linking and embedding:first designed to embed a document created by one application (e.g., Excel) within a document created by another one (e.g., Word)
greatly extended (OLE2)
OLE control
Examples of in-place activation OLE
1 23
3
666
324 3q5q34
Graphic image (hard to see in-place activation)
Excel within Power Point
COM as DLL, EXE
1 23
3
666
324 3q5q34
In-process COMs as DLL in the same process as the client e.g. ActiveX
Out-of-process COMs as EXE via lightweight Remote Procedure Call e.g. Excel within Power Point
Traditional OLE controls too big for transmission over Net
simplify and restrict ActiveX controlit is a DLL with an extension OCX
need not describe unused services
ActiveX control containere.g. Internet Explorer
ActiveX control
ActiveX Control
ActiveX Controls, as COM objects, present service interfaces through:
Properties: stock customEvents: stock customMethods
COM evolution
CORBA Object Transaction
Services
Internet Inter-ORB Protocol
( synchronous
asynchronous messaging services
(D)COM MicroSoft Transaction
Services
COM RPC
communication: RPC)
asynchronous MicroSoft Message Queue
COM evolution
CORBA Object Transaction
Services
Internet Inter-ORB Protocol
( synchronous
asynchronous messaging services
(D)COM MicroSoft Transaction
Services
COM RPC
communication: RPC)
asynchronous MicroSoft Message Queue
Object Request Broker (cont’d)
ORB independent application BUT Windows-based ORBDistributed COM (Windows 98, 2000)COM+
Objects …(C++/Java) objects language independent most applications provide no inheritance
Contract Format (buy)
ContractFormat 2
(rent)
Banker, broker
Toward a hierchical view of software Integration
Data(base) Integration
Program to file
Program to database
Database to database replication same schema translation on the fly
Federated database
Universal database (relational + object-oriented)
Standards for database middleware
OLE DBODBC JDBC
Gateways. Information Builders’ Enterprise Data Access. IBM’s Distributed Relational Data Access. ISO/SAG Remote Data Access
As part of application-level interface (seen later) D/COM (Microsoft) CORBA (the Open System) JBeans (((Sun Microsystems)))
Universal database providers
Oracle: relational -> universal
Informix: <-- Illustra = object-oriented
Sybase + Persistent Software (OO)
Three tier servicesBusiness Intelligence (rules, …)
Middle-tier Server
DB Bottom-tierDatabase
Internet
Record set
Query
Request
Response
TablesTop-tier client
Body
(Hierarchical) systems analysis (engineering)
Engine Drive Interior
Fuel Electric Front Back Steering Upholstery
A systemic (hierarchical) view of IT
Common examples - Management Information Systems - Computer Communications - Databases - Programming languages