Salome HOME
DCQ : Merge with Ecole_Ete_a6.
[modules/kernel.git] / doc / salome / gui / KERNEL / files / about_salome_pro_architecture.htm
1 <!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
2 \r
3 <html>\r
4 \r
5 <!--(==============================================================)-->\r
6 <!--(Document created with RoboEditor. )============================-->\r
7 <!--(==============================================================)-->\r
8 \r
9 <head>\r
10 \r
11 <title>About SALOME architecture</title>\r
12 \r
13 <!--(Meta)==========================================================-->\r
14 \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
24 \r
25 \r
26 <!--(Links)=========================================================-->\r
27 \r
28  <link rel='stylesheet' href='../default_ns.css'>\r
29 <script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
30 <!--\r
31 if (navigator.appName !="Netscape")\r
32 {   document.write("<link rel='stylesheet' href='../default.css'>");}\r
33 //-->\r
34 </script>\r
35 <style type="text/css">\r
36 <!--\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
48 -->\r
49 </style>\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
51 <!--\r
52 function reDo() {\r
53   if (innerWidth != origWidth || innerHeight != origHeight)\r
54      location.reload();\r
55 }\r
56 if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
57         origWidth = innerWidth;\r
58         origHeight = innerHeight;\r
59         onresize = reDo;\r
60 }\r
61 onerror = null; \r
62 //-->\r
63 </script>\r
64 <style type="text/css">\r
65 <!--\r
66   div.WebHelpPopupMenu {position:absolute; left:0px; top:0px; z-index:4; visibility:hidden;}\r
67 -->\r
68 </style>\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
74 </head>\r
75 \r
76 <!--(Body)==========================================================-->\r
77 \r
78 \r
79 <body>\r
80 \r
81 <script type="text/javascript" language="javascript1.2">\r
82 <!--\r
83 if (window.gbWhTopic)\r
84 {\r
85         if (window.addTocInfo)\r
86         {\r
87         addTocInfo("About SALOME\nAbout SALOME architecture");\r
88 addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");\r
89 \r
90         }\r
91         if (window.writeBtnStyle)\r
92                 writeBtnStyle();\r
93 \r
94         if (window.writeIntopicBar)\r
95                 writeIntopicBar(1);\r
96 \r
97         if (window.setRelStartPage)\r
98         {\r
99         setRelStartPage("../kernel.html");\r
100 \r
101                 autoSync(0);\r
102                 sendSyncInfo();\r
103                 sendAveInfoOut();\r
104         }\r
105 }\r
106 else\r
107         document.location.reload();\r
108 //-->\r
109 </script>\r
110 <h1 class="whs1">About SALOME architecture</h1>\r
111 \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 &quot;client&quot; \r
123  and &quot;server&quot; 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
126 \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
133  </p>\r
134 \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...) &nbsp;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
143 \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
151 \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
155  &nbsp;</span></p>\r
156 \r
157 <p class="whs3">&nbsp;</p>\r
158 \r
159 <p class="whs5"><span \r
160  style="font-weight: normal;">&nbsp;<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>&nbsp;</p>\r
164 \r
165 <p class="whs7">&nbsp;</p>\r
166 \r
167 <p class="whs8">The \r
168  architecture of this all-inclusive platform for numerical components &nbsp;responds \r
169  to the following objectives: </p>\r
170 \r
171 <p class="whs9">&nbsp;</p>\r
172 \r
173 <ul type="disc" class="whs10">\r
174         \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> : &nbsp;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
183 </ul>\r
184 \r
185 <p class="whs11">&nbsp;</p>\r
186 \r
187 <ul type="disc" class="whs10">\r
188         \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> : &nbsp;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
194 </ul>\r
195 \r
196 <p class="whs11">&nbsp;</p>\r
197 \r
198 <ul type="disc" class="whs10">\r
199         \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> : &nbsp;<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
208 </ul>\r
209 \r
210 <p class="whs11">&nbsp;</p>\r
211 \r
212 <ul type="disc" class="whs10">\r
213         \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>: &nbsp;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> &nbsp;is \r
222  able to easily follow these developments.</p></li>\r
223 </ul>\r
224 \r
225 <p class="whs11">&nbsp;</p>\r
226 \r
227 <p class="whs11">&nbsp;</p>\r
228 \r
229 <p class="whs11">&nbsp;</p>\r
230 \r
231 <p class="whs11">\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
233 \r
234 <p class="whs11">&nbsp;</p>\r
235 \r
236 <p class="whs11">&nbsp;</p>\r
237 \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
242 <!--\r
243 if (window.writeIntopicBar)\r
244         writeIntopicBar(0);\r
245 //-->\r
246 </script>\r
247 </body>\r
248 \r
249 </html>\r