1 <!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
\r
5 <!--(==============================================================)-->
\r
6 <!--(Document created with RoboEditor. )============================-->
\r
7 <!--(==============================================================)-->
\r
11 <title>About SALOME architecture</title>
\r
13 <!--(Meta)==========================================================-->
\r
15 <meta http-equiv=content-type content="text/html; charset=windows-1252">
\r
16 <meta name=generator content="RoboHELP by eHelp Corporation - www.ehelp.com">
\r
17 <meta name=generator-major-version content=0.1>
\r
18 <meta name=generator-minor-version content=1>
\r
19 <meta name=filetype content=kadov>
\r
20 <meta name=filetype-version content=1>
\r
21 <meta name=page-count content=1>
\r
22 <meta name=layout-height content=1043>
\r
23 <meta name=layout-width content=700>
\r
26 <!--(Links)=========================================================-->
\r
28 <link rel='stylesheet' href='../default_ns.css'>
\r
29 <script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
\r
31 if (navigator.appName !="Netscape")
\r
32 { document.write("<link rel='stylesheet' href='../default.css'>");}
\r
35 <style type="text/css">
\r
37 h1.whs1 {font-family: 'Times New Roman', serif;}
\r
38 p.whs2 {font-family: 'Times New Roman', serif; text-align: justify; text-indent: 48px;}
\r
39 p.whs3 {text-indent: 48px; font-weight: bold; font-family: 'Times New Roman', serif; text-align: justify;}
\r
40 p.whs4 {text-indent: 48px; font-family: 'Times New Roman', serif; text-align: justify; font-weight: normal;}
\r
41 p.whs5 {font-family:'Times New Roman' , serif; text-align:justify; font-weight:bold; text-indent:8px; background-image:url(../texture_horiz_ltbluebubbles.jpg); }
\r
42 img_whs6 {border-style: none; border: none; width: 35px; height: 37px; float: none;}
\r
43 p.whs7 {font-family: 'Times New Roman', serif; text-align: justify; font-weight: bold; text-indent: 8px;}
\r
44 p.whs8 {margin-left: 40px; font-family: 'Times New Roman', serif;}
\r
45 p.whs9 {font-family: 'Times New Roman', serif; margin-left: 40px;}
\r
46 ul.whs10 {list-style: disc;}
\r
47 p.whs11 {font-family: 'Times New Roman', serif;}
\r
50 <script type="text/javascript" language="JavaScript" title="BSSC Special Effects" src="../ehlpdhtm.js"></script><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
\r
53 if (innerWidth != origWidth || innerHeight != origHeight)
\r
56 if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
\r
57 origWidth = innerWidth;
\r
58 origHeight = innerHeight;
\r
64 <style type="text/css">
\r
66 div.WebHelpPopupMenu {position:absolute; left:0px; top:0px; z-index:4; visibility:hidden;}
\r
69 <script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>
\r
70 <script type="text/javascript" language="javascript" src="../whver.js"></script>
\r
71 <script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>
\r
72 <script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>
\r
73 <script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>
\r
76 <!--(Body)==========================================================-->
\r
81 <script type="text/javascript" language="javascript1.2">
\r
83 if (window.gbWhTopic)
\r
85 if (window.addTocInfo)
\r
87 addTocInfo("About SALOME\nAbout SALOME architecture");
\r
88 addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");
\r
91 if (window.writeBtnStyle)
\r
94 if (window.writeIntopicBar)
\r
97 if (window.setRelStartPage)
\r
99 setRelStartPage("../kernel.html");
\r
107 document.location.reload();
\r
110 <h1 class="whs1">About SALOME architecture</h1>
\r
112 <p class="whs2"><span style="font-family: 'Times New Roman', serif; font-weight: bold;"><B>SALOME
\r
113 </B></span><span style="font-family: 'Times New Roman', serif;">architecture
\r
114 is based on </span><span style="font-family: 'Times New Roman', serif; font-weight: bold;"><B>CORBA</B></span><span
\r
115 style="font-family: 'Times New Roman', serif;"> technology using distributed
\r
116 system model of applications. This architecture takes the concept of multitier
\r
117 client/server to its natural conclusion. The</span><span style="font-family: 'Times New Roman', serif;
\r
118 text-align: justify;
\r
119 text-indent: 48px;"> distributed system model exposes all functionality
\r
120 of the application as objects, each of which can use any of the services
\r
121 provided by other objects in the system, or even objects in other systems.
\r
122 The architecture can also blur the distinction between "client"
\r
123 and "server" because the client components can also create objects
\r
124 that behave in server-like roles. This architecture provides the ultimate
\r
125 in flexibility.</span></p>
\r
127 <p class="whs2">The distributed system architecture achieves
\r
128 its flexibility by encouraging (or enforcing) the definition of specific
\r
129 component interfaces. The interface of a component specifies to other
\r
130 components what services are offered by that component and how they are
\r
131 used. As long as the interface of a component remains constant, that component's
\r
132 implementation can change dramatically without affecting other components.
\r
135 <p class="whs3"><span style="font-weight: normal;">All
\r
136 integrated into </span>SALOME <span style="font-weight: normal;">platform
\r
137 software components (VISU, Geom, SMESH...) implement
\r
138 predefined interfaces. Each component provides data for the </span>SALOME<span
\r
139 style="font-weight: normal;"> study in a form of links (stored in the
\r
140 Study) to the specific data created and stored in the component. All components
\r
141 represent</span> CORBA <span style="font-weight: normal;">servers and
\r
142 it allows to run them on different host stations.</span></p>
\r
144 <p class="whs4">Another fundamental piece of the <span
\r
145 style="font-weight: bold;"><B>SALOME</B></span> architecture is the use of the
\r
146 Interface Definition Language (IDL). IDL, which specifies interfaces between
\r
147 CORBA components, is instrumental in ensuring CORBA's language independence.
\r
148 Because interfaces described in IDL can be mapped to any programming language,
\r
149 CORBA applications and components are thus independent of the language(s)
\r
150 used to implement them. </p>
\r
152 <p class="whs3"><span style="font-weight: normal;">Additional
\r
153 information about CORBA technology is available at </span><span style="text-indent: 8px;"><a
\r
154 href="http://www.omg.org">www.omg.org</a></span><span style="font-weight: normal;">
\r
157 <p class="whs3"> </p>
\r
159 <p class="whs5"><span
\r
160 style="font-weight: normal;"> <img src="../note1.gif" x-maintain-ratio="TRUE" width="35px" height="37px" border="0" class="img_whs6">In </span>SALOME<span style="font-weight: normal;"> there
\r
161 is a possibility to run definite components in the so-called </span><a href="running_salome_pro.htm#batchmode">batch mode</a><span style="font-weight: normal;">
\r
162 without GUI provided by IAPP component. In this case you can work with
\r
163 these components with the help of Python commands and scripts. </span> </p>
\r
165 <p class="whs7"> </p>
\r
167 <p class="whs8">The
\r
168 architecture of this all-inclusive platform for numerical components responds
\r
169 to the following objectives: </p>
\r
171 <p class="whs9"> </p>
\r
173 <ul type="disc" class="whs10">
\r
175 <li style="margin-left: -20px;"
\r
176 class=kadov-p><p class="whs11"><span
\r
177 style="font-weight: bold;"><B>Flexibility</B></span> : the
\r
178 creation and modification of computation schemes must be easy. The developer
\r
179 must have easy access to all modeling parameters to create domain-specific
\r
180 tools adapted to new situations or to test new numerical algorithms. SALOME
\r
181 allows integration and implementation of numerical and physical components
\r
182 derived from existing code. </p></li>
\r
185 <p class="whs11"> </p>
\r
187 <ul type="disc" class="whs10">
\r
189 <li style="margin-left: -20px;"
\r
190 class=kadov-p><p class="whs11"><span
\r
191 style="font-weight: bold;"><B>Productivity</B></span> : the
\r
192 implementation of code is simple for the user and the reuse of components
\r
193 (within other environments for macro-components) is noticeably facilitated.</p></li>
\r
196 <p class="whs11"> </p>
\r
198 <ul type="disc" class="whs10">
\r
200 <li style="margin-left: -20px;"
\r
201 class=kadov-p><p class="whs11"><span
\r
202 style="font-weight: bold;"><B>Performance</B></span> : <span
\r
203 style="font-weight: bold;"><B>SALOME</B></span>
\r
204 is able to more finely simulate phenomena that is more complex in scale
\r
205 and in physical coupling requirements. <span style="font-weight: bold;"><B>SALOME
\r
206 </B></span>economically exploits the performance of used machines (massively
\r
207 parallel processors, PC clusters, etc).</p></li>
\r
210 <p class="whs11"> </p>
\r
212 <ul type="disc" class="whs10">
\r
214 <li style="margin-left: -20px;"
\r
215 class=kadov-p><p class="whs11"><span
\r
216 style="font-weight: bold;"><B>Expandability</B></span>: on
\r
217 the one hand, software technologies and physical architectures evolve
\r
218 rapidly compared to the development time, validation and use of a scientific
\r
219 application while on the other hand, the development of a database model
\r
220 adapted to the totality of exchanges between components can be achieved
\r
221 incrementally. <span style="font-weight: bold;"><B>SALOME</B></span> is
\r
222 able to easily follow these developments.</p></li>
\r
225 <p class="whs11"> </p>
\r
227 <p class="whs11"> </p>
\r
229 <p class="whs11"> </p>
\r
232 <a href="javascript:void(0);" onClick="var e; if (parseInt(navigator.appVersion)>=4){e=event;} if (parseInt(navigator.appVersion) >=2 && typeof(PopupMenu_Invoke) == 'function') PopupMenu_Invoke(e,'','Installing SALOME PRO','installing_salome_pro.htm','Introduction to SALOME PRO','introduction_to_salome_pro.htm');return false;" title="Related Topics"><img src="../ss_btn_related_topics.gif" border=0 height=17 width=82 alt="Related Topics"></a></p>
\r
234 <p class="whs11"> </p>
\r
236 <p class="whs11"> </p>
\r
238 <script type="text/javascript" language="JavaScript" title="WebHelpRelatedTopics"><!--
\r
239 if (parseInt(navigator.appVersion) >= 3 && typeof (WritePopupMenuLayer) == "function")
\r
240 WritePopupMenuLayer();
\r
241 //--></script><script type="text/javascript" language="javascript1.2">
\r
243 if (window.writeIntopicBar)
\r
244 writeIntopicBar(0);
\r