90 likes | 179 Vues
Objektorientert samvirke - del 4. av Arne Maus, Institutt for informatikk, Universitetet i Oslo. Oversikt. Microsoft (.NET / OLE) mot ‘de andre’ = Sun(BEA, IBM) EJB I) ‘OO komponenter’ i egne applikasjoner (VBX , OCX, NEO, J2EE)
E N D
Objektorientert samvirke - del 4 av Arne Maus, Institutt for informatikk, Universitetet i Oslo
Oversikt Microsoft (.NET / OLE) mot ‘de andre’ = Sun(BEA, IBM) EJB I) ‘OO komponenter’ i egne applikasjoner (VBX , OCX, NEO, J2EE) II) OO samvirke på nettet: (ORB/CORBA), EJB og COM+/.NET
I) Inkludere ferdige komponenter i egne applikasjoner • VBX (Visual Basic Extentions) og OCX ( OLE Controls), ActiveX, JavaBeans, Applets • En måte å lage (små) delprogrammer du kan legge inn i programmet ditt • Typisk mer avanserte kontrollere enn knapper, tekstfelter osv. i vinduer -f.eks. Tabeller, databasesøk,.. • Ofte spesifisere (dvs. programmere) et sett med virtuelle prosedyrer • Disse aktiveres ved å klikkes på av sluttbruker
II) OO - samvirkende programmer • Microsoft (COM+, nå:.NET) mot ‘de andre’ OMG: (f.eks Java og tidligere: OpenDoc) • dokumentproduksjon (OLE = ’Object Linking and Embedding’ i Office) • inkludere ferdige komponenter i egne applikasjoner • generelt tilby tjenester (= objekter med prosedyrer) på nettet • EJB fra Sun • (OpenDoc &) CORBA (OMG: IBM, SunSoft, DEC, HP,..) – nå • CORBA: Felles arkitektur for ORB’er (intet produkt) • ORB - Object Request Broker - spesifikasjoner for ett system for å distribuere og administrere objekter på et nett (intet produkt) • OpenDoc var et konkret produkt fra APPLE (følger CORBA 2.0 standarden, kommer snart) Novell ?, ....? nå skrinlagt • Mange CORBA (ver 1.2 og ver 2.0) produkter – produkter ikke så viktig(2001):NEO(Sun), Object Broker (DEC), SOM (IBM), ORB Plus (HP), OrbixWeb(Iona), Visibroker (Boreland, Imprise), JavaIDL, ORBAcus
er objektet på denne maskinen ja nei Gjør kallet lokalt Lokaliser tjener-maskin, pakk inn parametrene og bruk PRC over nettet, vent på svar OO samvirke på nettet: ORB/CORBA og COM+/.NET • Hensikten er at objekter som befinner seg på en annen maskin, skal kunne kalles fra objekter på klient-maskinen - typisk:
Objekt implementasjon Klient IDL- skjelett Objekt- adapter ORB grensesnitt Dynamisk Tjeneste Stub- rutiner ORB kjerne CORBA på nettet(EJB og .NET ligner svært) Tjenester: - registrere objekter, finne objekter - kalle tjenester i objekter (ved kompileringstid via ‘stub’-rutiner og dynamisk med opplysning om metodene), retur - konvertere mellom ulike progr. språk - konvertere mellom ulike ORBer (heterogent nett) - ...
COM, DCOM, COM+ og SOAP, .NET • COM – kommunikasjon innad i en Win-maskin med LPC (Local Procedure Call) • DCOM – Kommunikasjon mellom Win-maskiner ved hjelp av RPC (Remote Procedure Call) • COM+ Intergrerer COM og DCOM (?) • SOAP (Simple Object Access Model) – erstatter RPC over DCOM med XML over HTTP-protokollen, • .NET • XML –eXtendable Markup Language – kodingssystem for dokumenter • XML er en opprydding (’ver 2’) av SGML • HTML er en forenklet versjon av SGML. • i .NET ’hiver’ Microsoft alt gammelt – det er nye konsepter og programvare
(DCOM/OLE/ActiveX/) .NET mot(CORBA/) Java EJB • DCOM/ActiveX/OLE 2.0 - Object Linking and Embedding • + er et produkt, inkludert i Windows, mange leverandører, Microsoft • - Vanskelig å lære, komplisert grensesnitt, støtter ikke arv av implementasjon (men arv av grensesnitt) – raskt ! • .NET – vesentlig lettere og bedre forslag fra Microsoft • Eget språk C# (C ’sharp’) • XML som protokoll • Egen ’mellomkode’ (bytelignende kode) og tolker – meget likt Java • Denne mellomkoden er det som sendes på nettet – oversettes til lokal maskinkode • Mange språk kan oversettes til denne ’mellomkoden’ (bare IKKE Java ! ) • Java-bønner nå konkurrenten (EJB) - WWW og Sun • CORBA – død ?! • Alt for mange, ikke-kompatible produkter (NEO, SOM,...) i ver 1.2det var godt håp om en levende industristandard i ver. 2.0 og videre, men langsom utvikling • CORBA lever som arkitektur,men kanskje ikke som produkt?
Sammenligning av COM+ med EJB • Hovedfagsoppgave (H. Gundelsby og S.H.Johnsen), Ifi, v2002 • Begger er profesjonelle utviklere (Genera) • Sammenlignet samme prosjektet i EJB og COM+ • Systemet var et enkelt trelags klient/tjener med database for salg av CD-er. • COM+: • +3-10 x raskere enn EJB løsning og tålte langt flere brukere • + Mye billigere ferdig system (price/performance) • + Meget godt, totalt utviklingsmiljø (Visual Studio) • - Bare Windows plattform • EJB • + Støtter ’alle’ platformer, Win+Unix/Linux • + Gode verktøy (når man først fant dem), men avhengig av at firmaene overlever • - Dyre lisenser (Weblogic, ..) • - Treg løsning, men enkel å vedlikeholde