De Mihail BOTEZ
Tehnologia Jupiter a fost lansata de Intergraph Corporation pe fundalul polemicilor cu privire la modelele de obiecte īn competitie. Se pare ca toata lumea crede īn viitorul tehnologiei obiectelor, dar argumentele privind cel mai performant sistem de obiecte genereaza mai multa caldura decīt lumina" asupra acestui subiect. Va prezentam īn continuare cīteva considerente asupra diferitelor abordari curente, din perspectiva dezvoltarii de aplicatii pentru proiectare/inginerie mecanica.STEP defineste un format standard pentru schimbul de date privind modelul ingineresc (nu numai informatie grafica) īntre aplicatii tehnice diferite. Specificatiile STEP includ definitii ale proprietatilor obiectului, comportament si relatii (legaturi). Evident ca definitiile STEP pot fi deosebit de complexe din moment ce tind sa acopere o gama atīt de larga de cerinte. STEP nu pretinde ca este o solutie de obiecte per se" dar toate explicatiile oferite de STEP se refera imediat la elemente" de proiectare sau obiecte". Paralela dintre elementele" de proiectare si obiectele din lumea reala este usor de reperat.
Alte eforturi de standardizare, cum ar fi ATLAS, Cimsteele si CALS se aliniaza īn acest moment cu initiativa STEP. STEP este adoptat pe scara larga īn Europa, facīnd pasi rapizi si īn SUA.
AutoCAD ARX un model de obiecteARX este o parte din AutoCAD Release 13. Deocamdata ARX nu pare foarte activ dar, cīnd o va face, el va oferi un formalism C++ pentru descrierea obiectelor ĪN INTERIORUL AutoCAD. Īn speta, el este AutoCAD dat la īntors" pentru a-l face object oriented", iar clasele de obiecte tratate de ARX sīnt numai obiecte AutoCAD. Autodesk promoveaza īn acest moment propria Alianta de Interoperabilitate un consortiu de companii care īsi propun sa defineasca definitii (Industry Foundation Classes) de obiecte (cum ar fi pompe, cabluri, stīlpi etc.) specifice fiecarui domeniu industrial. Autodesk doreste ca aceste companii sa utilizeze modelul ARX pentru definirea de obiecte AutoCAD". Pericolul care salasluieste aici este ca aceste definitii de clase de obiecte C++ : 1) sīnt dependente de limbajul C++; 2) se refera nu numai la date dar si la structura si interfetele obiectelor [deci ar fi bine sa le si iubesti pentru ca oricum vei ramīne singur cu ele]; 3) leaga utilizatorul pe vecie de AutoCAD, acesta fiind singurul capabil sa activeze obiectele latente (zombie) ARX. Acest ultim aspect este si cel mai important. Asta īnseamna ca, īn vederea cuplarii oricarei aplicatii la aceste obiecte, nucleul (engine") de tratare a obiectelor al AutoCAD trebuie cumparat si instalat la locul faptei, eventual īmpreuna cu ceva cod AutoCAD scris pentru integrare. Objective MicroStation alt model de date, plus limbaj de programare, plus registru de obiecte, plus...Bentley Systems Inc. - referit īn continuare Bentley - (Intergraph Corporation detine 50% din Bentley Systems Inc, dar aceasta din urma poate adopta strategii si poate dezvolta tehnologii si produse proprii, īn mod independent), se refera la arhitectura inovatoare de obiecte" cīnd prezinta Objective MicroStation. De asemnea, ObjectiveMDL este promovat ca LIMBAJUL de dezvoltare a obiectelor. Asemenea ARX, Objective MicroStation se prezinta si el ca o platforma de tratare a obiectelor proprie-proprietara, CAD-centrica. | Pariaza cineva contra Windows?Programarea orientata obiect (OOP object-oriented programming) este utilizata de cītiva ani buni si exista deja cīteva programe puternice orientate pe obiecte (inclusiv produseleIntergraph EMS pentru inginerie/fabricatie mecanica si MGE Dynamo pentru GIS). Dar sistemele de obiecte (prin "sistem de obiecte" sau "sistem de tratare a obiectelor" ne referim la arhitecturi informatice pentru definirea, generarea si gestionarea obiectelor), au avut de suferit īntotdeauna din cauza limbajelor si mediilor de programare/dezvoltare prea putine, din lipsa componentelor de interfata cu utilizatorul care sa fie acceptate pe scara larga si din lipsa sustinerii tehnologiei obiectelor de la nivelul sistemului de operare. Astazi avem limbaje ca Visual Basic, Visual C++, Delphi etc., avem un set de obiecte pentru GUI pe care le folosesc milioane de oameni si, cel mai important, avem sustinerea (tratarea) obiectelor din interiorul si īn exteriorul sistemului de operare. Rolul sistemului de operare nu se mai reduce doar la "rularea" aplicatiilor noastre; acesta asigura acum īntreaga infrastructura de obiecte pe care, pīna acum, trebuia edificata integral de catre developer-ii de aplicatii. Windows a depasit aceste limitari istorice. Practic, īn 1996, a paria pe un sistem de obiecte proprietar este acelasi lucru cu a paria īmpotriva lui Windows si lui OLE. Cam riscant. Merge cineva? |
Atīt Autodesk cīt si Bentley spun ca sistemul lor este deschis dar ... deschis spre interior. Adevaratul test al deschiderii ar fi ca sistemul de obiecte sa permita ca obiecte AutoCAD ARX, obiecte Objective MicroStation si obiecte din aplicatiile de birotica tehnica standard (de ex. diagrame de proiect, spreadsheet-uri etc.) sa poata fi reunite īntr-un flux de lucru programat de utilizator, cu acelasi instrument de programare, creīnd un model unic de proiectare. Nu prea pare asa.
Bentley afirma ca MicroStation este adezivul universal necesar care asambleaza un sistem adaptat la cerere...". Daca ar schimba cuvīntul MicroStation cu Windows, atunci ar putea avea dreptate. Atīt Bentley cīt si Autodesk sīnt membri fondatori ai Consiliului privind OLE pentru Aplicatii de Proiectare si Modelare (OLE for Design and Modeling Applications Council - abreviat īn continuare DMAC). Daca ambii vor decide sa sustina standardul OLE for Design and Modeling (OLE4D&M) adoptat de Microsoft si modelul deschis de obiecte din Windows ar fi un cīstig mai rapid pentru toti utilizatorii CAD.
Pelorus a fost anuntat ca un mediu de dezvoltare pentru software CAD orientat obiect. El este tot CAD-centric si tot un model de obiecte proprietar. Primul produs bazat pe Pelorus un sistem de desenare (drafting) denumit DesignPost a fost anuntat deja.
Pelorus se proclama a fi compatibil atīt CORBA cīt si OLE. CORBA este o specificatie foarte generala pentru arhitecturi de obiecte distribuite. Īntrucīt specificatiile CORBA nu mentioneaza nimic despre obiecte geometrice, ComputerVision a fost obligata sa-si dezvolte metode proprietare de tratare a geometriei obiectelor si, probabil, a interfetelor de comunicare cu alte obiecte). Aceasta īnseamna ca, si īn situatia īn care CORBA ar deveni un standard de facto, Pelorus se bazeaza īn continuare pe un model proprietar.
Pelorus suporta schimbul de date īn format STEP. Bineīnteles ca acesta a si fost scopul lui STEP de la bun īnceput. Suportul pentru STEP īnsa nu face Pelorus deschis ci numai capabil de a convorbi cu alta aplicatie aliniata la STEP, printr-un format de schimb neutru, un fel de Esperanto. Oricine poate si trebuie sa sustina STEP.
Parametric Technology Corp. (PTC), producatorul pachetului Pro/ENGINEER afirma ca STEP este o idee mai buna decīt OLE for Design and Modeling. Dar STEP este un format de schimb de informatii, īn timp ce OLE4D&M este o metoda de PARTAJARE (sharing) a datelor bazat pe modelul Windows de obiecte! Acestea nu sīnt deloc idei competitoare. PTC n-a sesizat diferenta.
Intergraph propune, de asemenea, un model de obiecte, dar nu l-a re-inventat. Acesta este modelul de obiecte Windows Component Object Model sau COM. Ar putea fi cazul sa comparam COM cu alte modele universale de obiecte, dar asta ar putea fi subiectul unui alt material. Pīna atunci sa vedem cīteva caracteristici esentiale ale abordarii Intergraph a obiectelor īn spiritul nativ Windows.
Īn lumea COM pe care a ales-o Intergraph, exista un registru public al obiectelor. Orice obiect poate comunica cu oricare alte obiecte indiferent de ce limbaj de programare este utilizat sau de ce aplicatie a generat obiectele. Cu alte cuvinte, aplicatiile se pot configura ad-hoc din obiecte aflate oriunde sub controlul SISTEMULUI DE OPERARE. Nu este necesara o ascendenta de AutoCAD sau MicroStation sau Pelorus, sau vreo secventa de cod program ale acestora.
Jupiter nu considera CAD ca fiind centrul universului. Obiectele produse prin tehnologia Jupiter sīnt doar instantieri ale obiectelor COM, la fel cum componentele īnsele ale sistemului de operare sīnt obiecte COM. Īn genere, obiectele COM pot fi de orice tip, pot fi programate īn orice limbaj si pot comunica cu alte obiecte COM pentru a putea sustine un flux de lucru adaptat specificului unei aplicatii. Modelul COM este efectiv deschis, extensibil si este DEJA INSTALAT pe fiecare computer care ruleaza Windows.
Obiectele Jupiter sīnt native Windows si de accea pot interactiona cu orice aplicatie Windows "constienta OLE" si cu oricare obiecte OLE produse de acele aplicatii. OLE este un model binar, adica obiectele comunica cu exteriorul īn momentul executiei (run time) prin interfetele cunoscute. Din acest motiv, ele pot fi generate/dezvoltate īn mod complet independent, utilizīnd orice limbaj de programare a obiectelor (a nu se confunda cu programarea orientata obiect).
Proprietatile obiectelor, comportamentul lor, relatiile reciproce si structurile interne de date sīnt controlate de obiectele īnsele, īn mod intrinsec. Partajarea datelor este realizata prin interfete COM, astfel ca translatarea CAD a datelor este minimizata. Īn realitate, necesitatea unui format comun, neutru de date este practic īnlaturata.
OLE este o implementare a COM pentru a permite aplicatiilor sa trateze cu documente compozite si automatizari interproces, toate acestea fiind proceduri de operare standard īn aplicatiile native Windows. Produse ca Microsoft Office si sute de alte aplicatii sustin astazi OLE si OLE Automation. OLE este inima dezvoltarii de catre Microsoft a noii sale generatii de sisteme de operare. El este aici, disponibil, acceptat, iar importanta lui creste rapid, pe masura ce programatorii de aplicatii trec de prima abordare, superficiala, la nivelul interfetei grafice utilizator (GUI) sau al serviciilor Windows si descopera puterea formidabila a ingineriei software de la baza.
Tehnologia Jupiter include OLE for Design and Modeling, extensia OLE acceptata de industria software pentru implementarea obiectelor geometrice īn aplicatiile Windows. Spre deosebire de oricare din modelele de obiecte prezentate anterior, OLE este integral deschis si public. OLE for Design and Modeling NU ESTE proiectat īn jurul unei platforme CAD particulare.
Aceasta este provocarea cu care se īntīlnesc astazi developer-ii de aplicatii tehnice:
| Sensul succesului | Fundatura |
| COM | Modele de obiecte proprietare |
| Visual Basic, Visual C++, Delphi, PowerBuilder | Medii de dezvoltare proprietare |
| OpenGL | Acceleratoare grafice proprietare |
| OLE | Structuri de date proprietare, proceduri de conversie |
Adoptati standardele industriei soft pentru tehnologia obiectelor si structurarea aplicatiilor. Foarte simplu, Windows este platforma a milioane de calculatoare desktop iar COM este modelul de obiecte din Windows.
Sustineti instrumentele de programare acceptate pe scara larga īn loc sa inventati limbaje proprietare. Daca implementati modelul Windows de obiecte atunci nu veti fi obligati sa inventati limbajul manipularii acestora.
Utilizati interfata de programare (API) OpenGL care este parte componenta din Windows. De ce sa fortati beneficiarii sa cumpere ceva īn plus pentru a face, de exemplu, rendering īn 3D?
Sustineti structura de model compozit OLE īn loc sa fortati utilizatorii sa converteasca datele īn tot felul de formate proprietare de fisiere. Amintiti-va de destinul autorilor de editoare de texte īn formate proprietare, care au crezut ca importul/exportul via ASCII este cheia. Tehnologia OLE se concentreaza asupra partajarii datelor, īn loc de repetabila conversie a acestora.
Pentru detalii suplimentare vizitati website-ul nostru http://www.intergraph.com/ole/ole.htm