470 likes | 648 Views
Komponentinės sistemos. asist. V.Giedrimas. Reikalavimai sistemoms. Atskirų PS dalių: sukurtų skirtingomis programavimo kalbomis; skirtų skirtingoms operacinėms sistemos; Skirtingų versijų gebėjimas veikti kartu. Komponentai. Komponentas-klientas Komponentas-serveris:
E N D
Komponentinės sistemos asist. V.Giedrimas
Reikalavimai sistemoms • Atskirų PS dalių: • sukurtų skirtingomis programavimo kalbomis; • skirtų skirtingoms operacinėms sistemos; • Skirtingų versijų • gebėjimas veikti kartu.
Komponentai • Komponentas-klientas • Komponentas-serveris: • vidinis serveris (tame pačiame faile) • Lokalusis serveris; • Nutolęs serveris
Planas • DCOM • .NET • CORBA • EJB
DCOM raida • DDE OLE COM DCOM • DDE(Dynamic Data Exchange) • Duomenų mainai tarp programų naudojant clipboard • OLE (Object Linking and Embedding) • 1991 • Į sudėtinis dokumentą leidžia įterpti (arba susieti)kita programa sukurtą objektą. • COM(Component Object Model) • 1993 (1997) • Binarinių komponentų sąveika • DCOM • 1995 • Paskirstytosios sistemos
COM privalumai • Suderinamumas • Skirtingos programos ir kalbos • Versijavimo galimybė
DCOM privalumai • Suderinamumas • Skirtingos programos, platformos ir kalbos • Versijavimo galimybė • Paskirstytos atminties valdymas • Tinklo “skaidrumas” • Dinaminisaktyvavimas (loading)ir deaktyvavimas (unloading)
Susijusios technologijos • Automation • ActiveX controls • OLE-DB • MTS • COM+
.NET • 2002 • .NET karkasas (.NET Framework)
Java programos tekstas Byte-kodas JVM OS Java ir .NET palyginimas C# VB … IL-kodas .NET Framework CLR OS
VB C++ C# JScript ... Common Language Specification Framework Class Libraries CommonLanguageRuntime Operacinė Sistema .NET karkaso struktūra
VB C++ C# JScript ... ASP.NET Web Forms Web Services Mobile Internet Toolkit Windows Forms .NET karkaso struktūra Common Language Specification ADO.NETir XML Base Class Library CommonLanguageRuntime Operacinė Sistema
System.Web System.Windows.Forms Services UI Design ComponentModel Description HtmlControls Discovery WebControls Protocols System.Drawing Caching Security Drawing2D Printing Configuration SessionState Imaging Text System.Data System.Xml OleDb SqlClient XSLT Serialization Common SQLTypes XPath System Collections IO Security Runtime InteropServices Configuration Net ServiceProcess Remoting Diagnostics Reflection Text Serialization Globalization Resources Threading .NET karkaso bibliotekos
.NET komponentas • .NET komponentas - assembly yra • save aprašantis • Paskirstymo • Įvardijimo (Naming) • Saugumo • Versijavimo ir vienalaikio vykdymo (side-by-side execution) vienetas
.NET komponentas • Metaduomenys • Manifestas (manifest, assembly metadata) • Tipų metaduomenys(metadata, type metadata) • IL kodas • Resursai
Metaduomenys (Metadata) • Manifestas: komponento aprašymas • Pavadinimas, versija,lokalė(culture), viešasis raktas (public key) • Security properties: Needed permissions • Public key if present • Dependencies on other assemblies • Tipų (Klasių) sąrašas • Kiekvienam tipui: • Struktūrinės dalys: metodai, laukai, savybės, įvykiai • Kiekvienos daliesSintaksė (argumentai ir rezultatai) • Realizuojami Interfeisai • Papildomi atributai (Customattributes)
Susijusios technologijos • Automation • ActiveX controls • OLE-DB • MTS • COM+
CORBA (Common Object Request Broker Architecture) • 1991 • OMG standartas • Jungiantis elementas - objektų užklausų brokeris ORB(Object Request Broker)
CORBA Architektūra CORBA Paslaugos CORBA Galimybės CORBA Domenai
ORB • Programinė įranga, užtikrinanti informacijos perdavimą iš vieno CORBA komponento kitam nutolusiam komponentui.
Gyvavimo ciklo valdymas Vardų paslauga (Naming) Įvykių perdavimas Tinklo skaidrumas Tranzakcijų apdorojimas Vienalaikio komponentų darbo palaikymas (Concurrency) Saugumas Pagrindinės CORBA paslaugos
IOR • Kiekvienas CORBAobjektasturi 128baitų unikalų identifikatorių, vadinamą IOR (Interoperable Object Reference). • Simboliniai vardaiir jų IOR saugomi registe. • Vardų paslauga nustato vienareikšmę abipusę atitiktį tarp vardo ir IOR
Praktinis CORBA panaudojimas IDL Developer IDL Source Client Developer IDL-to-Java Compiler IDL-to-C++ Compiler Server Developer App.java Stubs.java Stubs.cc impl.cc Client Executable Server Executable ORB
IDL (Interface Description Language) • IDL kalba aprašomos tokios savybės: • Interfeisai • Laukai ir metodai • Programiniai pertraukiai (exceptions) • Metodų argumentai ir rezultatai • Objectų atributai
CORBA Component CORBA komponentas facet receptacle Įvykių .. (event sinks) Įvykių šaltinis (event source)
Susijusios technologijos • CORBA 2 • 1996 • Nutolusių mazgų sujungimas Interneto tinkle, IIOP (Internet ) protokolas • Suderinamumas su OLE/COM • CORBA 3 • 2002 • CCM v3 komponento modelis • Visiškas suderinamumas su Java ir kitomis komponentinėmis technologijomis http://www.omg.org/gettingstarted/history_of_corba.htm
Java raida • Java • Java 2 • J2EE • Išskirstytosioms programomų sistemoms • J2SE • Monolitinėms programoms • J2ME • Mobiliesiems įrenginiams
J2EE • Vardų paslauga(Naming service) • JNDI (Java Naming and Directory Interface) • JTS (Java Transaction Services) • JSP, Servletai • RMI • EJB
Java technologijos • Apletai • Dinaminiai tinklalapių elementai būdingi Java 1. • Naudojami TIK kliento kompiuteryje • JavaBeans • Skirti jungiamajam (Conection-oriented) programavimui • Dažniausiai naudojami kliento kompiuteryje • EJB ( Enterprise Java Beans) • Technologija paremta konteinerio principu • Dažniausiai naudojami serveryje • Servletai • Apletų idėja realizuota serveryje • Naudojami TIK serveryje
Java technologijos • JSP • Technologija, leidžianti deklaratyviai aprašyti tinklalapį kurį reikia sugeneruoti • Naudojami TIK serveryje • Klientiniai komponentai (Application client components) • Naudojami TIK kliento kompiuteryje • Duomenų bazes pasiekia per JDBC, kitus resursus per JNDI
EJB architektūra Naming Service Server Container Home Interface (Factory) RMI Client RMI Remote Interface EJB Object (Wrapper) Enterprise Java Bean (Biz Logic) Kuria progrmt. Realizuoja Kviečia Sukuria / naudoja
EJB konteinerio funkcijos • Objektų valdymas(instance Pooling) • Resursų valdymas • Transakcijų kontrolė • Saugumo paslaugos • Skaidrumas(persistence) • Klasteriavimas
EJB pagrindai Client Home Interface Container EJB Object Call create method Proxy to container Construct an EJB Object Return EJB Object Return EJB Object
EJB pagrindai (2) Client Distributed Object Transaction Service Request Interceptor Security Service Database Driver Stub Skeleton Tinklas
EJB Esybės Sesijos Komponentovaldomas Konterinerio valdomas Be būsenos Su būsena EJB komponentų klasifikacija
EJB komponentų klasifikacija • Sesijos koponentai (Session beans) • modeliuoja procesus arbaužduotis • Pvz.apskaičiuoti sąskaitų balansą • Esybės komponentai (Entity beans) • modeliuojarealaus pasaulio objektus • Pvz.: Vartotojas, mašina
Praktinis EJB kūrimas Remote Interface Enterprise Bean Class EJB Java Archive EJB Compiler / Deploy Jar Tool Home Interface Deployment Descriptor
Komponentinės sistemos asist. V.Giedrimas