53
Making Software Work Together ™ 1 © IONA Technologies 1998-1999 Seán Baker Chief Scientific Officer IONA Technologies PLC A database centric update on CORBA

Seán Baker Chief Scientific Officer IONA Technologies PLC

  • Upload
    arch

  • View
    57

  • Download
    0

Embed Size (px)

DESCRIPTION

A database centric update on CORBA. Seán Baker Chief Scientific Officer IONA Technologies PLC. 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. - PowerPoint PPT Presentation

Citation preview

Page 1: Seán  Baker Chief Scientific Officer IONA Technologies PLC

Making Software Work Together ™1 © IONA Technologies 1998-1999

Seán BakerChief Scientific OfficerIONA Technologies PLC

A database centricupdate on CORBA

Page 2: Seán  Baker Chief Scientific Officer IONA Technologies PLC

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

Page 3: Seán  Baker Chief Scientific Officer IONA Technologies PLC

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

Page 4: Seán  Baker Chief Scientific Officer IONA Technologies PLC

Making Software Work Together ™4 © IONA Technologies 1998-1999

Part 1 (A)

CORBA and EJB

Page 5: Seán  Baker Chief Scientific Officer IONA Technologies PLC

Making Software Work Together ™5 © IONA Technologies 1998-1999

Software without Boundaries

Bridging Islands of Technology

Page 6: Seán  Baker Chief Scientific Officer IONA Technologies PLC

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

Page 7: Seán  Baker Chief Scientific Officer IONA Technologies PLC

Making Software Work Together ™7 © IONA Technologies 1998-1999

CORBACOM

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

Page 8: Seán  Baker Chief Scientific Officer IONA Technologies PLC

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 what’s new today work with what’s new tomorrow, next year, next decade?

Page 9: Seán  Baker Chief Scientific Officer IONA Technologies PLC

Making Software Work Together ™9 © IONA Technologies 1998-1999

What kind of boundaries stand in our way?

Page 10: Seán  Baker Chief Scientific Officer IONA Technologies PLC

Making Software Work Together ™10 © IONA Technologies 1998-1999

Language, Operating System, Network Boundaries

W95 and W98

NT

Palm

Solaris

NT

HP-UX

OS/390VB

Java

C++

Java

C

C++

Java

C++

COBOL

PL/I

Page 11: Seán  Baker Chief Scientific Officer IONA Technologies PLC

Making Software Work Together ™11 © IONA Technologies 1998-1999

Each Boundary Creates Software Islands

C++ COBOLJava

For example, different programming languages

Page 12: Seán  Baker Chief Scientific Officer IONA Technologies PLC

Making Software Work Together ™12 © IONA Technologies 1998-1999

The Internet Boundary...

Solaris

NT

HP-UX

OS390W W

W Security

Connections

Transactions

Page 13: Seán  Baker Chief Scientific Officer IONA Technologies PLC

Making Software Work Together ™13 © IONA Technologies 1998-1999

Organisational BoundariesYour Org. or Dept. My Org. or Dept.

“No, I won’t export my database schema!But I will export a high level interface.”

Page 14: Seán  Baker Chief Scientific Officer IONA Technologies PLC

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

Page 15: Seán  Baker Chief Scientific Officer IONA Technologies PLC

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

JavaActiveX (Visual Basic, Delphi, Power Builder)

COBOL

PL/I

Making software work together

Page 16: Seán  Baker Chief Scientific Officer IONA Technologies PLC

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

Page 17: Seán  Baker Chief Scientific Officer IONA Technologies PLC

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 502. Shorter "cycle times" and the need to improve service 423. Corporate initiatives such as "supply-chain integration" 404. Specific end-user requests 355. Mergers and acquisitions 326. Links to customers and suppliers for e-commerce 327. Consolidation of systems into centralized management 318. Pressure on IT costs 319. Growth in the "reuse" of existing applications 3110. Major implementation of SAP or similar enterprise package 25

Page 18: Seán  Baker Chief Scientific Officer IONA Technologies PLC

Making Software Work Together ™18 © IONA Technologies 1998-1999

CORBA

Key Architecture for Making Software Work Together

Page 19: Seán  Baker Chief Scientific Officer IONA Technologies PLC

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)

Page 20: Seán  Baker Chief Scientific Officer IONA Technologies PLC

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

Page 21: Seán  Baker Chief Scientific Officer IONA Technologies PLC

Making Software Work Together ™21 © IONA Technologies 1998-1999

The Second Key to CORBA: IIOP

CORBA Software Bus

VC++ COBOL SmalltalkInterface Definition Language

Protocol for communication: IIOP

Page 22: Seán  Baker Chief Scientific Officer IONA Technologies PLC

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

Page 23: Seán  Baker Chief Scientific Officer IONA Technologies PLC

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

Page 24: Seán  Baker Chief Scientific Officer IONA Technologies PLC

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

Page 25: Seán  Baker Chief Scientific Officer IONA Technologies PLC

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)

Page 26: Seán  Baker Chief Scientific Officer IONA Technologies PLC

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

Page 27: Seán  Baker Chief Scientific Officer IONA Technologies PLC

Making Software Work Together ™27 © IONA Technologies 1998-1999

C3 ArchitectureCOMPONENT DEVELOPMENT LAYER

CONTAINER

MICROSOFT

ORACLE

ERP SYSTEMS

C++

JAVA

CONNECTORS

Legacy

Page 28: Seán  Baker Chief Scientific Officer IONA Technologies PLC

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.

Page 29: Seán  Baker Chief Scientific Officer IONA Technologies PLC

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 component’s view of the

container in which it will be running.– It also defines standards for packaging

and deployment.

Page 30: Seán  Baker Chief Scientific Officer IONA Technologies PLC

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

Page 31: Seán  Baker Chief Scientific Officer IONA Technologies PLC

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 Microsoft’s world

– CICS, IMS Adapters to connect to mainframe TXs– BAAN, SAP, Finance, Telecom connectors built

for individual customers

Page 32: Seán  Baker Chief Scientific Officer IONA Technologies PLC

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!

Page 33: Seán  Baker Chief Scientific Officer IONA Technologies PLC

Making Software Work Together ™33 © IONA Technologies 1998-1999

A C3 technical architecture

OTM

COMPONENT FRAMEWORK

ORB, with async comms

GSB

BROKER

Page 34: Seán  Baker Chief Scientific Officer IONA Technologies PLC

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

Page 35: Seán  Baker Chief Scientific Officer IONA Technologies PLC

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

Page 36: Seán  Baker Chief Scientific Officer IONA Technologies PLC

Making Software Work Together ™36 © IONA Technologies 1998-1999

Code Generation Demo

10 minute demo ofcode generation

Part 1 (C)

Page 37: Seán  Baker Chief Scientific Officer IONA Technologies PLC

Making Software Work Together ™37 © IONA Technologies 1998-1999

Code Generation

Airline .idl

IDLgen

C++ GenieAirline_i.h

Airline_i.cpp

client.cpp

Makefile

IDLgen - the code generation engineThis calls all of the operations

Prints its arguments and returns random values

Genie - tells IDLgen what to generate.- you can write your own Genies.

Page 38: Seán  Baker Chief Scientific Officer IONA Technologies PLC

Making Software Work Together ™38 © IONA Technologies 1998-1999

Overview Of the Process

IDLIDL

IDLcompiler

Client“stub”

IDLcompiler

Server“skeleton”

Client developer Server developer

ServerClient

Page 39: Seán  Baker Chief Scientific Officer IONA Technologies PLC

Making Software Work Together ™39 © IONA Technologies 1998-1999

p->reserveSeat();Client

How does it work?

Server

Airline proxy -a local C++ object

remoteCORBA

call

Airlineobject

Page 40: Seán  Baker Chief Scientific Officer IONA Technologies PLC

Making Software Work Together ™40 © IONA Technologies 1998-1999

CORBA Services

Part 1 (D)

A set of services that help you to build applications

Page 41: Seán  Baker Chief Scientific Officer IONA Technologies PLC

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 ManagementMM Streams

These are not of equal importance!

The 8 most important ones:

PNNESSTT

CORBA Services

Page 42: Seán  Baker Chief Scientific Officer IONA Technologies PLC

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

Page 43: Seán  Baker Chief Scientific Officer IONA Technologies PLC

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

Page 44: Seán  Baker Chief Scientific Officer IONA Technologies PLC

Making Software Work Together ™44 © IONA Technologies 1998-1999

Events Service

cons

umer

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

Page 45: Seán  Baker Chief Scientific Officer IONA Technologies PLC

Making Software Work Together ™45 © IONA Technologies 1998-1999

Notification Service

cons

umer

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

Page 46: Seán  Baker Chief Scientific Officer IONA Technologies PLC

Making Software Work Together ™46 © IONA Technologies 1998-1999

Trading Service• I don’t 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

Page 47: Seán  Baker Chief Scientific Officer IONA Technologies PLC

Making Software Work Together ™47 © IONA Technologies 1998-1999

Trader(maintains a database of offers)

Each makes an offer :• service type• set of propertiesSend a query :

• service type• constraints

Page 48: Seán  Baker Chief Scientific Officer IONA Technologies PLC

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 don’t want some to commit and others to rollback.

PNNESSTT

Page 49: Seán  Baker Chief Scientific Officer IONA Technologies PLC

Making Software Work Together ™49 © IONA Technologies 1998-1999

1

2

34

commitrequest to OTM

OTS

Instructions to commitatomically

5

Page 50: Seán  Baker Chief Scientific Officer IONA Technologies PLC

Making Software Work Together ™50 © IONA Technologies 1998-1999

OTS• Provides mechanisms to support each of the following:

trans

actio

n pr

opag

atio

n

T1

T1

T1

RM RM

transactionpropagation 2PC protocol+

transactionmanagement +

begin();{ ...}commit();

Page 51: Seán  Baker Chief Scientific Officer IONA Technologies PLC

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

Page 52: Seán  Baker Chief Scientific Officer IONA Technologies PLC

Making Software Work Together ™52 © IONA Technologies 1998-1999

ORBNamingCOM integrationSSL SecurityFirewall SecurityTransactionsEventsMangement

A product bundle

Object Transaction Monitor (OTM)- the transaction monitor for object systems

Page 53: Seán  Baker Chief Scientific Officer IONA Technologies PLC

Making Software Work Together ™53 © IONA Technologies 1998-1999

Services : Summary• A set of services that you would have to write

yourself if they weren’t available.

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

• What’s missing– FT– LB