Скачать презентацию A database centric update on CORBA Seán Baker Скачать презентацию A database centric update on CORBA Seán Baker

6a55769a4ad6cbde782a9ec2ef883538.ppt

  • Количество слайдов: 53

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

Topics • Part 1 - CORBA and EJB – Bridging Boundaries - the reason 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 2 © IONA Technologies 1998 -1999 Making Software Work Together ™

Emphasis • The emphasis will be on CORBA issues – and CORBA + Database 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 3 © IONA Technologies 1998 -1999 Making Software Work Together ™

Part 1 (A) CORBA and EJB 4 © IONA Technologies 1998 -1999 Making Software Part 1 (A) CORBA and EJB 4 © IONA Technologies 1998 -1999 Making Software Work Together ™

Software without Boundaries Bridging Islands of Technology 5 © IONA Technologies 1998 -1999 Making Software without Boundaries Bridging Islands of Technology 5 © IONA Technologies 1998 -1999 Making Software Work Together ™

The Key Driver - Change • Everything is changing…. – Markets – Business Models 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 6 © IONA Technologies 1998 -1999 Making Software Work Together ™

Technology Velocity. . . CIO Mission : Align Information Systems to Business Goals. Increasingly Technology Velocity. . . CIO Mission : Align Information Systems to Business Goals. Increasingly difficult, as rate of change increases. COM CORBA DNA MTS SSL JTS Appservers IIOP HTML 7 JDBC CIO ASPs HTTP Java XML © IONA Technologies 1998 -1999 EJB Making Software Work Together ™

All this new technology creates Technology Boundaries • How will the new technology work 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? 8 © IONA Technologies 1998 -1999 Making Software Work Together ™

What kind of boundaries stand in our way? 9 © IONA Technologies 1998 -1999 What kind of boundaries stand in our way? 9 © IONA Technologies 1998 -1999 Making Software Work Together ™

Language, Operating System, Network Boundaries W 95 and W 98 VB OS/390 Solaris C++ Language, Operating System, Network Boundaries W 95 and W 98 VB OS/390 Solaris C++ COBOL Java NT NT Java C++ Palm PL/I Java C 10 © IONA Technologies 1998 -1999 HP-UX C++ Making Software Work Together ™

Each Boundary Creates Software Islands For example, different programming languages C++ 11 © IONA Each Boundary Creates Software Islands For example, different programming languages C++ 11 © IONA Technologies 1998 -1999 Java COBOL Making Software Work Together ™

The Internet Boundary. . . Security WWW 12 Solaris OS 390 Connections NT Transactions The Internet Boundary. . . Security WWW 12 Solaris OS 390 Connections NT Transactions © IONA Technologies 1998 -1999 HP-UX Making Software Work Together ™

Organisational Boundaries Your Org. or Dept. My Org. or Dept. “No, I won’t export Organisational Boundaries Your Org. or Dept. My Org. or Dept. “No, I won’t export my database schema! But I will export a high level interface. ” 13 © IONA Technologies 1998 -1999 Making Software Work Together ™

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

Making software work together Some Challenges in MSWT • Bridging Software Boundaries – – Making software work together Some Challenges in MSWT • Bridging Software Boundaries – – – network different programming languages different operating systems legacy administrational data paradigm (relational, OO, etc) C++ Smalltalk Java Active. X (Visual Basic, Delphi, Power Builder) COBOL PL/I • 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! 15 © IONA Technologies 1998 -1999 Making Software Work Together ™

Some Types of MSWT • What kind of things must “work together”? – New 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 16 © IONA Technologies 1998 -1999 Making Software Work Together ™

Top 10 list: Why MSWT? Business/technical reason for wanting to Make Software Work Together Top 10 list: Why MSWT? Business/technical reason for wanting to Make Software Work Together Weighted rank 1. External Web access to "internal" applications 2. Shorter "cycle times" and the need to improve service 3. Corporate initiatives such as "supply-chain integration" 4. Specific end-user requests 5. Mergers and acquisitions 6. Links to customers and suppliers for e-commerce 7. Consolidation of systems into centralized management 8. Pressure on IT costs 9. Growth in the "reuse" of existing applications 10. Major implementation of SAP or similar enterprise package Source: Soundview Technology Group, 1999 17 © IONA Technologies 1998 -1999 Making Software Work Together ™ 50 42 40 35 32 32 31 31 31 25

CORBA Key Architecture for Making Software Work Together 18 © IONA Technologies 1998 -1999 CORBA Key Architecture for Making Software Work Together 18 © IONA Technologies 1998 -1999 Making Software Work Together ™

CORBA Overview • CORBA is a standard controlled by the Object Management Group (OMG) CORBA Overview • CORBA is a standard controlled by the Object Management Group (OMG) • OMG Formed 1989 (10 th Anniversary) • Now 1000+ members (Q 199) 19 © IONA Technologies 1998 -1999 Making Software Work Together ™

The First Key To CORBA Interface Definition Language VB C++ Implementation is Hidden behind The First Key To CORBA Interface Definition Language VB C++ Implementation is Hidden behind interface Java C Ada 20 © IONA Technologies 1998 -1999 Service or Contractoriented View Making Software Work Together ™

The Second Key to CORBA: IIOP Protocol for communication: IIOP CORBA Software Bus Interface The Second Key to CORBA: IIOP Protocol for communication: IIOP CORBA Software Bus Interface Definition Language 21 VC++ © IONA Technologies 1998 -1999 COBOL Smalltalk Making Software Work Together ™

The Third Key to CORBA: Services Standard IDL for Services Java VB Naming Events The Third Key to CORBA: Services Standard IDL for Services Java VB Naming Events Transactions Security Trader CORBA Software Bus Notification Persistence Management VC++ COBOL Smalltalk 22 © IONA Technologies 1998 -1999 Making Software Work Together ™

What about CORBA and OS/390? • The mainframe can be made a first class 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 23 © IONA Technologies 1998 -1999 Making Software Work Together ™

CORBA: Summary • Mature, deployed and scalable • Significant momentum continues. . . • 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 24 © IONA Technologies 1998 -1999 Making Software Work Together ™

Part 1 (B) C 3 : Containers, Components & Connectors A view of current Part 1 (B) C 3 : Containers, Components & Connectors A view of current trends in the component and middleware industries. 25 © IONA Technologies 1998 -1999 Making Software Work Together ™

Crossing Boundaries - Making Software Work Together • The high rate of development of 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 26 © IONA Technologies 1998 -1999 Making Software Work Together ™

C 3 Architecture COMPONENT DEVELOPMENT LAYER CONTAINER Legacy JAVA C++ CONNECTORS ERP SYSTEMS MICROSOFT C 3 Architecture COMPONENT DEVELOPMENT LAYER CONTAINER Legacy JAVA C++ CONNECTORS ERP SYSTEMS MICROSOFT ORACLE 27 © IONA Technologies 1998 -1999 Making Software Work Together ™

Components • Smarter than your average object – aware of underlying container infrastructure – 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. 28 © IONA Technologies 1998 -1999 Making Software Work Together ™

Containers • “a runtime environment in which components are deployed” • Enterprise Platform infrastructure 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. 29 © IONA Technologies 1998 -1999 Making Software Work Together ™

Containers - my beliefs • They should be standards-based – avoid building to proprietary 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 3 rd parties – they should support system components (as well as application components) • so - for example - we could change protocols, or other system level behavior 30 © IONA Technologies 1998 -1999 Making Software Work Together ™

Connectors • Containers cannot exist in isolation – must live with alternative infrastructures (no 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 : – Orbix. COMet 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 31 © IONA Technologies 1998 -1999 Making Software Work Together ™

CORBA and EJB • These have many common objectives – definition, packaging and deployment 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? 32 – Because more component frameworks. Software Work Together ™ over time! will emerge Making © IONA Technologies 1998 -1999

A C 3 technical architecture GSB COMPONENT FRAMEWORK OTM BROKER ORB, with async comms A C 3 technical architecture GSB COMPONENT FRAMEWORK OTM BROKER ORB, with async comms 33 © IONA Technologies 1998 -1999 Making Software Work Together ™

Three layers of Ease of Use • ORB – supports interfaces and objects • 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 34 © IONA Technologies 1998 -1999 Making Software Work Together ™

C 3 Summary • Components offer a useful extension to OO – component development, C 3 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 GSB COMPONENT FRAMEWORK BROKER OTM ORB 35 © IONA Technologies 1998 -1999 Making Software Work Together ™

Code Generation Demo Part 1 (C) 10 minute demo of code generation 36 © Code Generation Demo Part 1 (C) 10 minute demo of code generation 36 © IONA Technologies 1998 -1999 Making Software Work Together ™

Code Generation Makefile IDLgen - the code generation engine client. cpp This calls all Code Generation Makefile IDLgen - the code generation engine client. cpp This calls all of the operations IDLgen Airline. idl Airline_i. h C++ Genie Airline_i. cpp Genie 37 Prints its arguments and returns random values - tells IDLgen what to generate. - you can write your own Genies. © IONA Technologies 1998 -1999 Making Software Work Together ™

Overview Of the Process Client developer IDL compiler Client “stub” Server developer IDL compiler Overview Of the Process Client developer IDL compiler Client “stub” Server developer IDL compiler Server “skeleton” Client 38 © IONA Technologies 1998 -1999 Server Making Software Work Together ™

How does it work? Server p->reserve. Seat(); Client Airline object Airline proxy a local How does it work? Server p->reserve. Seat(); Client Airline object Airline proxy a local C++ object 39 © IONA Technologies 1998 -1999 remote CORBA call Making Software Work Together ™

Part 1 (D) CORBA Services A set of services that help you to build Part 1 (D) CORBA Services A set of services that help you to build applications 40 © IONA Technologies 1998 -1999 Making Software Work Together ™

CORBA Services Naming (look up names to get references to object) Events (send msgs CORBA Services 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 & Qo. S) Persistent State (arch. for persistence) System Management MM Streams 41 © IONA Technologies 1998 -1999 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, … ) These are not of equal importance! The 8 most important ones: PNNESSTT Making Software Work Together ™

PNNESSTT Naming • I want to find a cinema object with the name “Odien PNNESSTT 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 object reference with the Naming Service 42 © IONA Technologies 1998 -1999 Making Software Work Together ™

Resolve the name, to get the object reference Bind the name and object reference Resolve the name, to get the object reference Bind the name and object reference Naming Service • To manage names, we create Naming Contexts (directories/folders) within the Naming Service 43 © IONA Technologies 1998 -1999 Making Software Work Together ™

consumers Events Service PNNESSTT Producer • A “publish and subscribe” paradigm. • Useful where consumers Events Service PNNESSTT Producer • A “publish and subscribe” paradigm. • Useful where the set of recipients is not known or where the “sender” and “receiver” must work independently. 44 © IONA Technologies 1998 -1999 Making Software Work Together ™

Producer consumers Notification Service F F • Each consumer can specify a filter on Producer consumers Notification Service F F • Each consumer can specify a filter on the channel. • Quality of Service can also be specified: – ordering of messages – timeouts 45 © IONA Technologies 1998 -1999 PNNESSTT Making Software Work Together ™

Trading Service PNNESSTT • I don’t know the name of the cinema that I Trading Service PNNESSTT • 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 8 pm and 9 pm 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 46 © IONA Technologies 1998 -1999 Making Software Work Together ™

Each makes an offer : • service type • set of properties Send a Each makes an offer : • service type • set of properties Send a query : • service type • constraints Trader (maintains a database of offers) 47 © IONA Technologies 1998 -1999 Making Software Work Together ™

PNNESSTT OTS - Object Transaction Service • A client may use several servers, each PNNESSTT 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. 48 © IONA Technologies 1998 -1999 Making Software Work Together ™

1 2 4 commit request to OTM 3 Instructions to commit atomically 5 OTS 1 2 4 commit request to OTM 3 Instructions to commit atomically 5 OTS 49 © IONA Technologies 1998 -1999 Making Software Work Together ™

OTS • Provides mechanisms to support each of the following: + begin(); {. . OTS • Provides mechanisms to support each of the following: + begin(); {. . . } commit(); 50 © IONA Technologies 1998 -1999 transaction propagation transaction management + 2 PC protocol T 1 T 1 RM Making Software Work Together ™ RM

Security PNNESSTT • Augmenting IIOP with SSL. This provides: – Authentication (security certificates> – Security PNNESSTT • 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 51 © IONA Technologies 1998 -1999 Making Software Work Together ™

Object Transaction Monitor (OTM) - the transaction monitor for object systems A product bundle Object Transaction Monitor (OTM) - the transaction monitor for object systems A product bundle ORB Naming COM integration SSL Security Firewall Security Transactions Events Mangement 52 © IONA Technologies 1998 -1999 Making Software Work Together ™

Services : Summary • A set of services that you would have to write 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 53 © IONA Technologies 1998 -1999 Making Software Work Together ™