Server : Apache System : Linux webd348.cluster026.gra.hosting.ovh.net 5.15.148-ovh-vps-grsec-zfs-classid #1 SMP Thu Feb 8 09:41:04 UTC 2024 x86_64 User : hednacluml ( 122243) PHP Version : 8.3.9 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl Directory : /home/hednacluml/liberlog/RAD-HTML-EN/ |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/transitional.dtd"> <html> <head> <meta HTTP-EQUIV=CONTENT-TYPE CONTENT="text/html; charset=utf-8"> <title>Diapo 1</title> </head> <body text="#000000" bgcolor="#DBBA82" link="#0088CC" vlink="#0088CC" alink="#0088CC"> <div align="left"><p style="direction:ltr;"><a href="JavaScript:parent.NavigateAbs(0)"><b><font color="#FFFFFF">Very Rapid Applications Development on Management</b></font></a></p><b>Creating management software fastly</b> Creative Common By SA License <ul><li style="direction:ltr;">Matthieu GIROUX - <a href="http://www.liberlog.fr/">www.liberlog.fr</a></li> <li style="direction:ltr;">Self Programmer</li> <li style="direction:ltr;">Integrating Web Sites</li> <li style="direction:ltr;">Management software creating</li> <li style="direction:ltr;">Creating a VRAD framework</li> </ul></div> <div align="left"><p style="direction:ltr;"><a href="JavaScript:parent.NavigateAbs(1)"><b><font color="#FFFFFF">Table of contents</b></font></a></p><ul><li style="direction:ltr;"> Defining and History</li> <li style="direction:ltr;"> Gaining time</li> <li style="direction:ltr;"> Management softwares</li> <li style="direction:ltr;"> Multi-platforms and VRAD</li> <li style="direction:ltr;"> VRAD vs old technics</li> <li style="direction:ltr;"> Creating VRAD plugins</li> <li style="direction:ltr;"> LEONARDI </li> <li style="direction:ltr;"> JELIX JFORMS</li> <li style="direction:ltr;"> Why using a RAD EDI ?</li> <li style="direction:ltr;"> RAD frameworks</li> </ul></div> <div align="left"><p style="direction:ltr;"><a href="JavaScript:parent.NavigateAbs(2)"><b><font color="#FFFFFF">1.1) Gain time : Why fast ?</b></font></a></p>Now computers permits to gain time. <b></b> But creating software is more and more expensive and slow. Most of software projects are stopped. And computers permits to automate. So we can automate creating software. </div> <div align="left"><p style="direction:ltr;"><a href="JavaScript:parent.NavigateAbs(3)"><b><font color="#FFFFFF">1.2) Gain time : Ergonomics</b></font></a></p>User is always asking himself the same questions. So Ergonomics are always the same questions. We can think about the user before the interface is created. How ? With the last software, and a prepared automating work... </div> <div align="left"><p style="direction:ltr;"><a href="JavaScript:parent.NavigateAbs(4)"><b><font color="#FFFFFF">1.3) Gain time : Interface</b></font></a></p>Creating each interface entirely : <ul><li style="direction:ltr;">Creates ergonomics problems</li> <li style="direction:ltr;">Looses time : To create and correct</li> <li style="direction:ltr;">Looses in quality : A lot for nothing</li> </ul>It is known : A lot of softs are slow and badly made, because there some copy-paste. </div> <div align="left"><p style="direction:ltr;"><a href="JavaScript:parent.NavigateAbs(5)"><b><font color="#FFFFFF">1.2) Bad example Some programming API</b></font></a></p><b>A API is a tool package to program</b> <b>Management API needs :</b> <ul><li style="direction:ltr;">To create source code hardly manipulated</li> <li style="direction:ltr;">To program to remake that exists already</li> </ul>A Engineer can transform some Management API de gestion to create the interface of management software from some existing files of VRAD API. </div> <div align="left"><p style="direction:ltr;"><a href="JavaScript:parent.NavigateAbs(6)"><b><font color="#FFFFFF">1.3) Good creation of a library</b></font></a></p><b>Story of framework creating</b> <b></b> <ul><li style="direction:ltr;">At the begining we create some functions units</li> <li style="direction:ltr;">So we use and inherits components</li> <li style="direction:ltr;">Then we create components packages</li> <li style="direction:ltr;">We open our library to other libraries</li> <li style="direction:ltr;">So we automate some package in a library</li> <li style="direction:ltr;">The library needs no code or less</li> </ul></div> <div align="left"><p style="direction:ltr;"><a href="JavaScript:parent.NavigateAbs(7)"><b><font color="#FFFFFF">1.4) History : Rapid Application Development</b></font></a></p><b>A software is made by :</b> <ul><li style="direction:ltr;">Job part : That is asked by the customer</li> <li style="direction:ltr;">Computing part : The software</li> </ul><b></b> <b>With with RAD or other methods we :</b> <ul><li style="direction:ltr;">Mixed the job part with the computing part</li> <li style="direction:ltr;">Remade the software entirely</li> </ul>The job part must be kept. </div> <div align="left"><p style="direction:ltr;"><a href="JavaScript:parent.NavigateAbs(8)"><b><font color="#FFFFFF">1.4.1) Gain time : Faster</b></font></a></p>If we centralise each programming of software : <ul><li style="direction:ltr;">We anticipate the useless of software</li> <li style="direction:ltr;">The software is quality based : Tests are used</li> <li style="direction:ltr;">We participate with the projects we use</li> <li style="direction:ltr;">We create its own framework</li> </ul>If we centralise we create a very fast development framework. </div> <div align="left"><p style="direction:ltr;"><a href="JavaScript:parent.NavigateAbs(9)"><b><font color="#FFFFFF">1.4.1) RAD Components : Faster</b></font></a></p>RAD Lazarus Components can be installed with a simple mouse clic. The Objects Inspector will fill RAD Component quickly. Components can make a VRAD Engine easily, based on Business Process Management model. </div> <div align="left"><p style="direction:ltr;"><a href="JavaScript:parent.NavigateAbs(10)"><b><font color="#FFFFFF">1.5) History : Rapid Application Development</b></font></a></p><b>We see that the customer must know how work a software but he does not know to manipulate computer.</b> It is possible to pass fastly the computing part creating the software from the user will. The customer must always know : <ul><li style="direction:ltr;">How to make a software (RAD, VRAD, etc.)</li> <li style="direction:ltr;">If he has the hand on the created software</li> </ul></div> <div align="left"><p style="direction:ltr;"><a href="JavaScript:parent.NavigateAbs(11)"><b><font color="#FFFFFF">1.6) History : Rapid Application Development</b></font></a></p><b>Rapid Development tools have been created to getting more and more programers :</b> <ul><li style="direction:ltr;">VISUAL BASIC, DELPHI, LAZARUS</li> </ul><b>Now some frameworks can be included to them. They can keep job part :</b> <ul><li style="direction:ltr;">GLADE GTK for interfaces not linked to data</li> <li style="direction:ltr;">JAVA LEONARDI and WAVEMAKER for managament</li> <li style="direction:ltr;">GAME MAKER for games.</li> </ul></div> <div align="left"><p style="direction:ltr;"><a href="JavaScript:parent.NavigateAbs(12)"><b><font color="#FFFFFF">2.1) Management software</b></font></a></p><b></b> <b>A management software is :</b> <ul><li style="direction:ltr;">An enterprise software</li> <li style="direction:ltr;">Administration of web site</li> <li style="direction:ltr;">Accounting of enterprise</li> </ul>We see that we can model easily a management software. </div> <div align="left"><p style="direction:ltr;"><a href="JavaScript:parent.NavigateAbs(13)"><b><font color="#FFFFFF">2.2) Management softwares</b></font></a></p><b>A Management software is :</b> <ul><li style="direction:ltr;">A link to data system</li> <li style="direction:ltr;">Some relationships beetween forms</li> <li style="direction:ltr;">Some statistics, some arithmetic</li> <li style="direction:ltr;">Some maps, or other plugins</li> </ul>All of that is defined and automatable. A VRAD software automates this systems. </div> <div align="left"><p style="direction:ltr;"><a href="JavaScript:parent.NavigateAbs(14)"><b><font color="#FFFFFF">3.1) The Multi-plateforms</b></font></a></p>The maker can use is own framework. <b>The multi-plateforms is :</b> <ul><li style="direction:ltr;">Be self-sufficient of computing system</li> <li style="direction:ltr;">Be self-sufficient of used framework ?</li> </ul>It is always possible to change of framework with data. It is possible to be more self-sufficient with VRAD. </div> <div align="left"><p style="direction:ltr;"><a href="JavaScript:parent.NavigateAbs(15)"><b><font color="#FFFFFF">3.2) Rapide Application Dévelopment (RAD)</b></font></a></p><ul><li style="direction:ltr;"><font color="#333333">Creating visually some software</font></li> <li style="direction:ltr;">To gain time with programing</li> <li style="direction:ltr;">To create easily a sofware</li> </ul>Most of RAD tools don't automate or less an enterprise management. The Very Rapid Application Development permits to getting RAD faster for management servers or other modelisable interfaces. </div> <div align="left"><p style="direction:ltr;"><a href="JavaScript:parent.NavigateAbs(16)"><b><font color="#FFFFFF">2.5) Creating an interface with passive files : VRAD</b></font></a></p>It is now possible to create a management interface with Model Driven Engeenering. A passive file containing user part is read and creates the interface from VRAD engine. <ul><li style="direction:ltr;">GLADE GTK permits to create an interface, only actions are coded.</li> <li style="direction:ltr;">LEONARDI permits to create a management interface from passive files.</li> <li style="direction:ltr;">LIBERLOG owns a RAD framework with a VRAD Engine.</li> </ul></div> <div align="left"><p style="direction:ltr;"><a href="JavaScript:parent.NavigateAbs(17)"><b><font color="#FFFFFF">2.6) Creating an interface with passive files : VRAD</b></font></a></p>Passive files : <ul><li style="direction:ltr;">permit to create objects' models.</li> <li style="direction:ltr;">Are the customer demand.</li> <li style="direction:ltr;">will automate the showing.</li> </ul>It is possible to create themes of interfaces. So user can choose the showing. </div> <div align="left"><p style="direction:ltr;"><a href="JavaScript:parent.NavigateAbs(18)"><b><font color="#FFFFFF">4.1) Good points on Very Rapid Application Developing</b></font></a></p><b>The Very Rapid Development permits :</b> <ul><li style="direction:ltr;">To prevent errors from occuring</li> <li style="direction:ltr;">To create only the models at the end</li> <li style="direction:ltr;">To gain some time with the creation</li> <li style="direction:ltr;">To be self-sufficient</li> <li style="direction:ltr;">That the programer thinks functionalities</li> </ul>The source code will reusable, centralized, user friendly, integrated more easily. </div> <div align="left"><p style="direction:ltr;"><a href="JavaScript:parent.NavigateAbs(19)"><b><font color="#FFFFFF">4.2) Rapid Development vs Command Line</b></font></a></p><b>Example : Creating a simple form</b> A centralised code used with some copy-paste <ul><li style="direction:ltr;">3 days and it is not always finished</li> </ul>Same making with a RAD tool <ul><li style="direction:ltr;">Analysing ½ day and ½ day of creating</li> <li style="direction:ltr;">The component automatee some creating</li> <li style="direction:ltr;">The form is usable with less tests</li> </ul></div> <div align="left"><p style="direction:ltr;"><a href="JavaScript:parent.NavigateAbs(20)"><b><font color="#FFFFFF">4.3) Passive files of VRAD vs RAD</b></font></a></p><b>Passive files :</b> <ul><li style="direction:ltr;">Permit to modelise the Job Part in its mind</li> <li style="direction:ltr;">Can be created from analytic or data</li> <li style="direction:ltr;">Can be slef-sufficient from all used framework</li> <li style="direction:ltr;">Are defined a must be evolutive</li> <li style="direction:ltr;">Permit to creating some more interfaces</li> <li style="direction:ltr;">Permit to think functionality</li> </ul>The analysis of ½ day qui creates the software. The analysis is always same as created software. </div> <div align="left"><p style="direction:ltr;"><a href="JavaScript:parent.NavigateAbs(21)"><b><font color="#FFFFFF">4.4) Passive files of VRAD vs RAD</b></font></a></p><b>With passive files we :</b> <ul><li style="direction:ltr;">Think functionalities and Job Part with models</li> <li style="direction:ltr;">Determine what can be done quickly</li> <li style="direction:ltr;">Determine what is not modeled</li> <li style="direction:ltr;">Create plugins for what is not made</li> <li style="direction:ltr;">Know where we are going</li> </ul>Once the software is created you can create other types of interfaces with VRAD framework. </div> <div align="left"><p style="direction:ltr;"><a href="JavaScript:parent.NavigateAbs(22)"><b><font color="#FFFFFF">4.4) VRAD Quality</b></font></a></p><b>With a VRAD engine :</b> <ul><li style="direction:ltr;">We gain in time and be more agile</li> <li style="direction:ltr;">We facilitate the making of future softwares</li> <li style="direction:ltr;">Test only the engine, not the created interface</li> <li style="direction:ltr;">The analysis is the software</li> <li style="direction:ltr;">The maintenance is centralised</li> <li style="direction:ltr;">The programer goes to the fundamental</li> </ul></div> <div align="left"><p style="direction:ltr;"><a href="JavaScript:parent.NavigateAbs(23)"><b><font color="#FFFFFF">5.1) Creating some VRAD plugins</b></font></a></p><b>Creating some VRAD plugin :</b> <ul><li style="direction:ltr;">Will be integrated with passive files</li> <li style="direction:ltr;">Will be faster if you use a RAD IDE</li> <li style="direction:ltr;">Will be acquired once the plugin created</li> <li style="direction:ltr;">Require to create the plugin on other EDI</li> <li style="direction:ltr;">Will be modeled in the analysis</li> </ul></div> <div align="left"><p style="direction:ltr;"><a href="JavaScript:parent.NavigateAbs(24)"><b><font color="#FFFFFF">6.1) VRAD LEONARDI GPL LGPL</b></font></a></p><b>This VRAD library permit to :</b> <b></b> <ul><li style="direction:ltr;">Create passive files with analysis</li> <li style="direction:ltr;">Create Software with passive files</li> <li style="direction:ltr;">Creating the computing part with plugins</li> <li style="direction:ltr;">Doing Reverse Engeenering from data</li> <li style="direction:ltr;">Create software for both <a href="http://demo.lyria.com/demo/home.do">web</a> and <a href="http://www.leonardi-free.org/demos/demonstrationActionJWS/demonstration_action_SWING.jnlp">not web</a></li> </ul></div> <div align="left"><p style="direction:ltr;"><a href="JavaScript:parent.NavigateAbs(25)"><b><font color="#FFFFFF">6.2) VRAD LEONARDI GPL LGPL</b></font></a></p><b>With LEONARDI can be in the GUI:</b> <ul><li style="direction:ltr;">Managing with forms</li> <li style="direction:ltr;">Sorting, filtering, searching, composing</li> <li style="direction:ltr;">Printing, exporting, importing</li> <li style="direction:ltr;">Creating statistics, trees, tables</li> <li style="direction:ltr;">Creating charts, maps (not free)</li> <li style="direction:ltr;">Creating plugins linked to passive files</li> <li style="direction:ltr;">Learning easily with french community</li> </ul></div> <div align="left"><p style="direction:ltr;"><a href="JavaScript:parent.NavigateAbs(26)"><b><font color="#FFFFFF">6.3) VRAD LEONARDI GPL LGPL</b></font></a></p><b>LEONARDI can make your:</b> <b></b> <ul><li style="direction:ltr;">Supply Chain Management (SCM or SCM)</li> <li style="direction:ltr;">Customer Relationship Management (CRM)</li> <li style="direction:ltr;">Monitoring, Network Administration ...</li> <li style="direction:ltr;">Requirements: network equipment ...</li> <li style="direction:ltr;">Information Communication System (CIS)</li> <li style="direction:ltr;">Command Support System</li> <li style="direction:ltr;">Integrated Management Software (ERP)</li> <li style="direction:ltr;">Managing Repositories</li> <li style="direction:ltr;">Geographic Information System (GIS)</li> <li style="direction:ltr;">Inventory Management</li> </ul>It is possible to create a prototyping fastly. </div> <div align="left"><p style="direction:ltr;"><a href="JavaScript:parent.NavigateAbs(27)"><b><font color="#FFFFFF">6.4) LEONARDI – RESTRICTION</b></font></a></p><b>LEONARDI library is free:</b> <ul><li style="direction:ltr;">To create commercial software</li> <li style="direction:ltr;">Using Free Data Systems</li> <li style="direction:ltr;">The data links are paid when paying Data Systems.</li> <li style="direction:ltr;">Mapping and GANTT are payed</li> </ul></div> <div align="left"><p style="direction:ltr;"><a href="JavaScript:parent.NavigateAbs(28)"><b><font color="#FFFFFF">6.5) LEONARDI – Facilities</b></font></a></p><b>Making LEONARDI better :</b> <b></b> <ul><li style="direction:ltr;">Creating some plugins and free components</li> <li style="direction:ltr;">Some similarities with JELIX JFORMS files</li> <li style="direction:ltr;">Using management API with LEONARDI files</li> </ul></div> <div align="left"><p style="direction:ltr;"><a href="JavaScript:parent.NavigateAbs(29)"><b><font color="#FFFFFF">6.6) LEONARDI et JELIX JFORMS Similar frameworks</b></font></a></p><b>LEONARDI analysis permits to :</b> <ul><li style="direction:ltr;">Create some software</li> <li style="direction:ltr;">Using passive files of forms</li> <li style="direction:ltr;">That creates the software</li> </ul>It is in theory possible to translate some files between LEONARDI and jelix JFORMS. We are so independent of any tool. </div> <div align="left"><p style="direction:ltr;"><a href="JavaScript:parent.NavigateAbs(30)"><b><font color="#FFFFFF">7.1) JELIX – LGPL</b></font></a></p><b>This library permits to :</b> <ul><li style="direction:ltr;">Create a management software with JFORMS plugin</li> <li style="direction:ltr;">Create computing part with JELIX plugins</li> <li style="direction:ltr;">Create a software or web site</li> </ul><b>Advantages</b> <ul><li style="direction:ltr;">A lot of plugins for WEB portal</li> <li style="direction:ltr;">It is Possible to converte the XML files</li> </ul>It is possible to transfer all LEONARDI analysis. </div> <div align="left"><p style="direction:ltr;"><a href="JavaScript:parent.NavigateAbs(31)"><b><font color="#FFFFFF">7.1) WAVE MAKER – APACHE LICENSE</b></font></a></p><b>This library permits to :</b> <ul><li style="direction:ltr;">Create easily a management software</li> <li style="direction:ltr;">Create a software or web site</li> </ul><b>Advantages</b> <ul><li style="direction:ltr;">User friendly</li> </ul></div> <div align="left"><p style="direction:ltr;"><a href="JavaScript:parent.NavigateAbs(32)"><b><font color="#FFFFFF">7.1) GAME MAKER – COMMERCIAL</b></font></a></p><b>This library permits to :</b> <ul><li style="direction:ltr;">Create a game easily and quickly</li> </ul><b>Advantages</b> <ul><li style="direction:ltr;">Programming is not needed</li> <li style="direction:ltr;">Not necessary to adapt on every platforms</li> </ul><b>Misses</b> <ul><li style="direction:ltr;">We depend on the software</li> <li style="direction:ltr;">We must pay the evolution</li> </ul></div> <div align="left"><p style="direction:ltr;"><a href="JavaScript:parent.NavigateAbs(33)"><b><font color="#FFFFFF">8.1) Why using EDI RAD ?</b></font></a></p><ul><li style="direction:ltr;">Rapid changes.</li> <li style="direction:ltr;">The components are quickly put in place.</li> <li style="direction:ltr;">The component structure is homogeneous.</li> <li style="direction:ltr;">Easy maintenance.</li> <li style="direction:ltr;">Centralization and individualization sources.</li> <li style="direction:ltr;">Do not create unnecessary.</li> <li style="direction:ltr;">Sorting according to the computing part.</li> </ul></div> <div align="left"><p style="direction:ltr;"><a href="JavaScript:parent.NavigateAbs(34)"><b><font color="#FFFFFF">8.2) LAZARUS</b></font></a></p><b>Advantages</b> <b></b> <ul><li style="direction:ltr;">Opened and friendly project.</li> <li style="direction:ltr;">On WINDOWS LINUX UNIX MAC-OS BSD.</li> <li style="direction:ltr;">A lot of DELPHI free components.</li> <li style="direction:ltr;">Fast Execute because not traduced (no JAVA).</li> <li style="direction:ltr;">An executable by platform.</li> <li style="direction:ltr;">Creating fastly if good programing.</li> <li style="direction:ltr;">Creates <a href="http://www.youtube.com/watch?v=ZVUMW0V9nGs">web</a> or <a href="http://www.liberlog.fr/local/cache-vignettes/L500xH348/2010-09-07_Weo_XMl_Frames-2-ae9aa.png">not web</a> software.</li> </ul></div> <div align="left"><p style="direction:ltr;"><a href="JavaScript:parent.NavigateAbs(35)"><b><font color="#FFFFFF">8.3) LAZARUS</b></font></a></p><b>Bad points</b> <b></b> <ul><li style="direction:ltr;">Heavy executables.</li> <li style="direction:ltr;">Began on 1999 : (Not fully DELPHI compatible).</li> <li style="direction:ltr;">Need to rewrite WINDOWS APIs.</li> <li style="direction:ltr;">Graphic part remade so 98 % compatible.</li> <li style="direction:ltr;">Traduced components have less properties.</li> <li style="direction:ltr;">You use multi-platform units.</li> <li style="direction:ltr;">More powerfull on WINDOWS, and so LINUX.</li> </ul></div> <div align="left"><p style="direction:ltr;"><a href="JavaScript:parent.NavigateAbs(36)"><b><font color="#FFFFFF">8.5) How to create RAD component?</b></font></a></p><b>How to work?</b> <b></b> <ul><li style="direction:ltr;">Easy component.</li> <li style="direction:ltr;">Scalability.</li> <li style="direction:ltr;">Portability.</li> <li style="direction:ltr;">Interoperability with other components.</li> <li style="direction:ltr;">Anticipating on the structure of the component.</li> <li style="direction:ltr;">Methods and variables with appropriate English.</li> </ul></div> <div align="left"><p style="direction:ltr;"><a href="JavaScript:parent.NavigateAbs(37)"><b><font color="#FFFFFF">8.6) The power of LAZARUS</b></font></a></p><b>LAZARUS is a RAD EDI which complains :</b> <ul><li style="direction:ltr;">Framework of <a href="http://www.liberlog.fr/">LIBERLOG.FR</a>.</li> <li style="direction:ltr;">Data System.</li> <li style="direction:ltr;">Visual executables on WINDOWS,LINUX,MAC.</li> <li style="direction:ltr;">Embedded on some mobile phones.</li> <li style="direction:ltr;">Creating WEB with components.</li> </ul></div> <div align="left"><p style="direction:ltr;"><a href="JavaScript:parent.NavigateAbs(38)"><b><font color="#FFFFFF">9.1) LIBERLOG FRAMEWORK</b></font></a></p><a href="http://xmlframes.liberlog.fr/">XML FRAMES</a> <ul><li style="direction:ltr;">Creating some management software.</li> <li style="direction:ltr;">With RAD management components.</li> <li style="direction:ltr;">Creating fastly some simple forms.</li> <li style="direction:ltr;">Possible use of some framework like LEONARDI.</li> <li style="direction:ltr;">It will be possible to create some embedded softwares.</li> </ul></div> <div align="left"><p style="direction:ltr;"><a href="JavaScript:parent.NavigateAbs(39)"><b><font color="#FFFFFF">9.2) Why a framework ?</b></font></a></p><b>The used framework :</b> <ul><li style="direction:ltr;">permits to creating some interfaces.</li> <li style="direction:ltr;">Permits to be self-sufficient of the software maker if it is free with all software sources.</li> <li style="direction:ltr;">Can centralise Job Part if demanded.</li> </ul>If Job Part is not centralised so we see mistakes between analysis and software creating. </div> <div align="left"><p style="direction:ltr;"><a href="JavaScript:parent.NavigateAbs(40)"><b><font color="#FFFFFF">9.3) Creating a VRAD framework</b></font></a></p><ul><li style="direction:ltr;">MICROSOFT is an organization that does not want the self-sufficiens of its customers for its future tool VRAD.</li> <li style="direction:ltr;">Only end customers, little or middle enterprises see the interest of VRAD Management.</li> <li style="direction:ltr;">We must use the open source available and create a single file VRAD format.</li> <li style="direction:ltr;">The creation of a free expertise VRAD permits to retrieve a part of the software business.</li> </ul></div> </body> </html>