Você está na página 1de 53

Making Software Work Together

1 IONA Technologies 1998-1999


Sen Baker
Chief Scientific Officer
IONA Technologies PLC
A database centric
update on CORBA
Making Software Work Together
2 IONA Technologies 1998-1999
Topics
Part 1 - CORBA and EJB
Bridging Boundaries - the reason for CORBA
Intro to CORBA
An example
CORBA Services
New standards: POA in particular
EJB
Part 2 - CORBA and Databases
Making Software Work Together
3 IONA Technologies 1998-1999
Emphasis
The emphasis will be on CORBA issues
and CORBA + Database issues

and not on Database issues
e.g., how to map OO to relational, or vice
versa

Making Software Work Together
4 IONA Technologies 1998-1999
Part 1 (A)
CORBA and EJB
Making Software Work Together
5 IONA Technologies 1998-1999
Software without Boundaries
Bridging Islands of Technology
Making Software Work Together
6 IONA Technologies 1998-1999
The Key Driver - Change
Everything is changing.
Markets
Business Models
Technology

CIO Mission
Align Information Systems to Business Goals
Increasingly difficult, as rate of change
increases
Making Software Work Together
7 IONA Technologies 1998-1999
CORBA
COM
ASPs
DNA
EJB
MTS
XML
JDBC
JTS
Java
IIOP
SSL
HTTP
Technology Velocity...
HTML
Appservers
CIO Mission : Align Information Systems to Business Goals.
Increasingly difficult, as rate of change increases.
CIO
Making Software Work Together
8 IONA Technologies 1998-1999
All this new technology creates
Technology Boundaries
How will the new
technology work with
what I have?

How will whats new
today work with
whats new tomorrow,
next year, next
decade?


Making Software Work Together
9 IONA Technologies 1998-1999
What kind of boundaries stand
in our way?
Making Software Work Together
10 IONA Technologies 1998-1999
Language, Operating System,
Network Boundaries
W95 and W98
NT
Palm
Solaris
NT
HP-UX
OS/390
VB
Java
C++
Java
C
C++
Java
C++
COBOL
PL/I
Making Software Work Together
11 IONA Technologies 1998-1999
Each Boundary Creates
Software Islands
C++ COBOL Java
For example, different programming languages
Making Software Work Together
12 IONA Technologies 1998-1999
The Internet Boundary...
Solaris
NT
HP-UX
OS390
W

W

W

Security
Connections
Transactions
Making Software Work Together
13 IONA Technologies 1998-1999
Organisational Boundaries
Your Org. or Dept. My Org. or Dept.

No, I wont export my database schema!
But I will export a high level interface.

Making Software Work Together
14 IONA Technologies 1998-1999
Conclusion: Many Boundaries
Language
Operating System
Network
Messaging Systems
Legacy Systems
Intra/Extra/Internet
Component Systems
Organisational



Making Software Work Together
15 IONA Technologies 1998-1999
Some Challenges in MSWT
Bridging Software Boundaries
network
different programming languages
different operating systems
legacy
administrational
data paradigm (relational, OO, etc)
Ease-of-use
MSWT is not just for rocket scientists
Scaling
E.g., Internet = millions of users, day 1
Agility
you want a lot of flexibility -- not a straight-jacket!
C++
Smalltalk
Java
ActiveX
(Visual Basic,
Delphi, Power Builder)
COBOL
PL/I
Making software work together
Making Software Work Together
16 IONA Technologies 1998-1999
Some Types of MSWT
What kind of things must work together?
New In-house and Custom-built
applications
Old In-house and Custom-built
applications (legacy, heritage)
Packaged applications (COTS Packages)
- e.g., ERP systems
The web and Internet technologies

Making Software Work Together
17 IONA Technologies 1998-1999
Top 10 list: Why MSWT?
Source: Soundview Technology Group, 1999
Business/technical reason for wanting to Weighted
Make Software Work Together rank

1. External Web access to "internal" applications 50
2. Shorter "cycle times" and the need to improve service 42
3. Corporate initiatives such as "supply-chain integration" 40
4. Specific end-user requests 35
5. Mergers and acquisitions 32
6. Links to customers and suppliers for e-commerce 32
7. Consolidation of systems into centralized management 31
8. Pressure on IT costs 31
9. Growth in the "reuse" of existing applications 31
10. Major implementation of SAP or similar enterprise package 25

Making Software Work Together
18 IONA Technologies 1998-1999
CORBA
Key Architecture for Making
Software Work Together
Making Software Work Together
19 IONA Technologies 1998-1999
CORBA Overview
CORBA is a standard
controlled by the
Object Management
Group (OMG)

OMG Formed 1989
(10th Anniversary)

Now 1000+ members
(Q199)

Making Software Work Together
20 IONA Technologies 1998-1999
The First Key To CORBA -
Interface Definition Language
VB
C++
Java
C
Ada
Implementation is
Hidden behind
interface
Service or Contract-
oriented View
Making Software Work Together
21 IONA Technologies 1998-1999
The Second Key to CORBA:
IIOP
CORBA Software Bus
VC++ COBOL Smalltalk
Interface
Definition
Language
Protocol for
communication:
IIOP
Making Software Work Together
22 IONA Technologies 1998-1999
The Third Key to CORBA:
Services
CORBA Software Bus
VC++
VB
COBOL Smalltalk
Java Naming
Naming
Events
Transactions
Security
Trader
Notification
Persistence
Management
Standard
IDL for
Services
Making Software Work Together
23 IONA Technologies 1998-1999
What about CORBA and
OS/390?
The mainframe can be made a first class citizen
it can access components on other machines
other machines can access components running on
OS/390
components can be moved from or to the
mainframe

Native, USS or CICS
C++, Java, COBOL or PL/I
Making Software Work Together
24 IONA Technologies 1998-1999
CORBA: Summary
Mature, deployed and scalable
Significant momentum continues...
Proven foundation for
Making Software Work Together
Helps deliver on our vision
A World Without Software Boundaries





Making Software Work Together
25 IONA Technologies 1998-1999
C3 : Containers, Components
& Connectors
A view of current trends in the
component and middleware
industries.
Part 1 (B)
Making Software Work Together
26 IONA Technologies 1998-1999
Crossing Boundaries - Making
Software Work Together
The high rate of development of new technologies
we need a greater emphasis on a framework
or architecture
into which you can plug new
technologies as you adopt them
and which can work with current and
legacy systems
This framework must be a standard.
it can persist as Technologies, Businesses,
Applications change
Making Software Work Together
27 IONA Technologies 1998-1999
C3 Architecture
COMPONENT DEVELOPMENT LAYER
CONTAINER
MICROSOFT
ORACLE
ERP SYSTEMS
C++
JAVA
CONNECTORS
Legacy
Making Software Work Together
28 IONA Technologies 1998-1999
Components
Smarter than your average object
aware of underlying container infrastructure
can be automatically managed, transactional,
secure, Internet-enabled, etc
and these can be chosen at deployment time

Mappable to alternative Component Frameworks
CORBA, EJB, Microsoft, and so on as they emerge
more on this later.

Making Software Work Together
29 IONA Technologies 1998-1999
Containers
a runtime environment in which components are
deployed
Enterprise Platform infrastructure
Internet, Persistence, Security, Transactions,
Naming, load balancing, connection
management ...
Makes it easier to bridge boundaries
languages, platforms, models, OSs, legacy,
A component framework
Essentially defines a components view of the
container in which it will be running.
It also defines standards for packaging
and deployment.
Making Software Work Together
30 IONA Technologies 1998-1999
Containers - my beliefs
They should be standards-based
avoid building to proprietary models
They should be build on top of CORBA
proven, powerful, standard
but be able to support many component models
They should be extensible
even by 3rd parties
they should support system components (as
well as application components)
so - for example - we could change
protocols, or other system level behavior
Making Software Work Together
31 IONA Technologies 1998-1999
Connectors
Containers cannot exist in isolation
must live with alternative infrastructures (no
boundaries)
there should be no technology islands (no ugly
babies)
Bridging should be as rich as possible
should extend to include transaction, security, naming
models, rich communications, management, ..
Examples of IONA Connectors :
OrbixCOMet Desktop (MTS integration planned)
to bridge into and out of Microsofts world
CICS, IMS Adapters to connect to mainframe TXs
BAAN, SAP, Finance, Telecom connectors
built for individual customers

Making Software Work Together
32 IONA Technologies 1998-1999
CORBA and EJB
These have many common objectives
definition, packaging and deployment of components
CORBA has always been component oriented
EJB ideas are being extended and incorporated into CORBA 3
EJB is like CORBA without language independence
A Java-based CORBA will then be the best EJB
a EJB flavor on the richness of CORBA
EJB mandates CORBA interoperability
and many EJB services are very close derivatives of their
CORBA forerunners.
Why is this so important?
Because more component frameworks will emerge over time!

Making Software Work Together
33 IONA Technologies 1998-1999
A C3 technical architecture
OTM
COMPONENT FRAMEWORK
ORB, with async comms
GSB
BROKER
Making Software Work Together
34 IONA Technologies 1998-1999
Three layers of Ease of Use
ORB
supports interfaces and objects
OTM
adds services (Security, Transactions, )
GSB
uses a component framework to support
the separation of application and
container code
and allows you to choose OTM features
using a GUI
Making Software Work Together
35 IONA Technologies 1998-1999
C3 Summary
Components offer a useful extension to OO
component development, assembly and deployment
ORB is the underlying integration layer
ORB + OTM + Broker is the Container
GUI layers for ease of use and management
OTM
COMPONENT FRAMEWORK
ORB
GSB
BROKER
Making Software Work Together
36 IONA Technologies 1998-1999
Code Generation Demo
10 minute demo of
code generation
Part 1 (C)
Making Software Work Together
37 IONA Technologies 1998-1999
Code Generation
Airline
.idl
IDLgen
C++ Genie
Airline_i.h
Airline_i.cpp
client.cpp
Makefile
IDLgen - the code generation engine
This calls all of the
operations
Prints its arguments and
returns random values
Genie - tells IDLgen what to generate.
- you can write your own Genies.
Making Software Work Together
38 IONA Technologies 1998-1999
Overview Of the Process
IDL
IDL
compiler
Client
stub
IDL
compiler
Server
skeleton
Client developer Server developer


Server Client
Making Software Work Together
39 IONA Technologies 1998-1999
p->reserveSeat();


Client
How does it work?
Server
Airline proxy -
a local C++ object
remote
CORBA
call
Airline
object
Making Software Work Together
40 IONA Technologies 1998-1999
CORBA Services
Part 1 (D)
A set of services that help
you to build applications
Making Software Work Together
41 IONA Technologies 1998-1999
Naming (look up names to get references to object)
Events (send msgs to multiple receivers)
Transactions (two phase commit)
Security (who can call what objects)
Trading (find objects given a constraint string)
Lifecycle (factories for objects; moving objects)
Time (get time of day; and periodic calls)
Licensing (who can run what)
Notification (filter messages & QoS)
Persistent State (arch. for persistence)

Properties (attach properties to objects)
Relationships (relationships between objects)
Query (query collections of objects)
Concurrency Control (locking)
Externalization (writing objects to byte streams)
Collections (sets, bags, )
System Management
MM Streams
These are not of equal
importance!
The 8 most important ones:
PNNESSTT
CORBA Services
Making Software Work Together
42 IONA Technologies 1998-1999
Naming
I want to find a cinema object with the
name Odien London
Pass that name to the Naming Service, and
receive back an object reference

Some server must have previously
registered that name and and object
reference with the Naming Service
PNNESSTT
Making Software Work Together
43 IONA Technologies 1998-1999
Naming Service
Bind the name and
object reference
To manage names, we create Naming Contexts
(directories/folders) within the Naming Service
Resolve the
name, to get
the object
reference
Making Software Work Together
44 IONA Technologies 1998-1999
Events Service
c
o
n
s
u
m
e
r
s

Producer
A publish and subscribe paradigm.
Useful where the set of recipients is not known
or where the sender and receiver must work independently.
PNNESSTT
Making Software Work Together
45 IONA Technologies 1998-1999
Notification Service
c
o
n
s
u
m
e
r
s

Producer
Each consumer can specify a filter on the channel.
Quality of Service can also be specified:
ordering of messages
timeouts
F
F
PNNESSTT
Making Software Work Together
46 IONA Technologies 1998-1999
Trading Service
I dont know the name of the cinema that I want to
communicate with
BUT I would like the Trading Service to find a cinema
for me that fulfills some constraint
E.g., - find a cinema
that is showing Men in Black
the show must start between 8pm and 9pm today
and it must be within 10 km of some specified town
The Trader will give me a sequence of one or more object
references to choose from
PNNESSTT
Making Software Work Together
47 IONA Technologies 1998-1999
Trader
(maintains a database of offers)
Each makes an offer :
service type
set of properties Send a query :
service type
constraints
Making Software Work Together
48 IONA Technologies 1998-1999
OTS - Object Transaction Service
A client may use several servers, each of which
may update a database
we must be sure that all of the servers
databases are updated (committed)

If they all cannot be committed then it would
be best for them all to be rolled back.
certainly dont want some to commit and
others to rollback.
PNNESSTT
Making Software Work Together
49 IONA Technologies 1998-1999
1
2
3
4
commit
request
to OTM
OTS
Instructions
to commit
atomically
5
Making Software Work Together
50 IONA Technologies 1998-1999
OTS
Provides mechanisms to support each of the
following:
t
r
a
n
s
a
c
t
i
o
n

p
r
o
p
a
g
a
t
i
o
n

T
1
T
1
T
1
RM RM
transaction
propagation
2PC protocol
+
transaction
management
+
begin();
{
...
}
commit();
Making Software Work Together
51 IONA Technologies 1998-1999
Security
Augmenting IIOP with SSL. This provides:
Authentication (security certificates>
Data Privacy
Data Integrity
The CORBA Security standard, add
Identification and authentication of principals
Authorization and access control
Security auditing
Non-repudiation
Delegation
PNNESSTT
Making Software Work Together
52 IONA Technologies 1998-1999
ORB
Naming
COM integration
SSL Security
Firewall Security
Transactions
Events
Mangement
A product bundle
Object Transaction Monitor (OTM)
- the transaction monitor for object systems
Making Software Work Together
53 IONA Technologies 1998-1999
Services : Summary
A set of services that you would have to
write yourself if they werent available.

The core aspects of distributed computing
built on top of IDL and the point to point
communication provided by the base ORB

Whats missing
FT
LB

Você também pode gostar