RUS | UKR | ENG | DonNTU> Portal of masters DonNTU | Biography | Abstract | Library | Links | Search report | Ind. task

The author's abstract masters work

Òåìà: Research of methods of the organization of the distributed program system for planning moving on graphs

Leader: doc. Ladyzhensky Jury Valentinovich




Contents

1. THE PURPOSE OF RESEARCH WORK
2. DIJKSTRA'S SHORTEST PATH ALGORITHM      (Realization of algorithm on JavaScript)
3. TECHNOLOGY "WEB SERVICES"
4. STRUCTURE OF THE DISTRIBUTED SYSTEM
5. DATABASE
6. CONCLUSIONS

THE PURPOSE OF RESEARCH WORK

The purpose of the given work is research in the field of designing the large distributed systems. For today there is a set of development in this area. These development also concern and the technologies based the Internet.

The purpose is research of means which allow to organize the distributed network in such a manner that it is loading easily expanded with the best distribution and with strict division of functional loading of each of its parts in view of a concrete subject domain. As well as any other project, this project requires a choice of a platform for creation of the system. For today exists two platforms which can meet our requirements and requirements which are put forward by our system is platform J2EE and .Net.

Important point of the given work is the choice of the most suitable interface given to clients of system, and also development of an internal infrastructure of the distributed network.

Besides all it, the purpose of work also is the choice of the best way of data presentation and development of methods of their processing. The important purpose is the choice of a way of a data storage as general productivity of system strongly depends on it. It is necessary to choose not only a way of data presentation and a product which will allow to realize it, but also to calculate optimum parameters of storehouse. In other words it is necessary to optimize adjustments of system which will store the data and to give access to them, for a concrete subject domain. It is necessary to define, where the business - logic of all system will be realized.

In the given work it is necessary to solve a problem about a finding of an optimum way on weighed to the column. Namely, the program is the guidebook for movement on city and purchasing. The map of objects is submitted as the column, and cost of an edge is cost of a way up to the specified object. Each top is the reference to a database of the enterprise. The database represents the list of given services and the goods, and also their cost.

The given work has the following features:

  • " The entrance data is the list of necessary goods / services
  • " The target data is the route
  • " Presence of the WEB-interface
  • " Groups of users
  • " Detailed statistics of work of all services at each stage of performance
  • Dijkstra's shortest path algorithm

         Let's store the current minimal distance up to all nodes V (from the given top a) and on each step of algorithm to try to reduce this distance. let's originally establish distances up to all tops equal to infinity, and up to top à - null.
    Fig. 1.1 - Dijkstra's Algorithm
    Let's consider performance of algorithm on an example. Let it is necessary to find distances from 1-st top up to all others. Circles designate tops, by lines - ways between them ("arch"). Above arches their "price" - length of a way is designated. Red the current shortest distance up to top is designated.

    Step 1

         Initialization. Distances up to all tops the column V = ?. Distance up to à = 0. Any top the column is not processed.
    Fig. 1.2 - Dijkstra's Algorithm

    Step 2

         We find such top (from yet not processed), the current shortest distance up to which is minimal. In our case it is top 1. We bypass all its neighbours and, if a way to the next top through 1 less than the current minimal way to this next top this new, shorter way as the current shortest distance up to the neighbour is remembered.
    Fig. 1.3 - Dijkstra's Algorithm

    Step 3

         1-st tops first by turns the neighbour - 2-n top. The way up to it through 1-st top is equal to the shortest distance up to 1-st top + length of an arch between 1-st and 2-nd top, i.e. 0 + 7 = 7. It less the than current shortest distance up to 2-nd top, therefore new distance up to 2-nd top equally 7.
    Fig. 1.4 - Dijkstra's Algorithm

    Steps 4, 5

         Similar operation it is made with two other neighbours of 1-st top - 3-rd and 6-th.

    Step 6

         All neighbours of top 1 are checked up. The current minimal distance up to top 1 is considered final and to discussion is not subject (that it is valid so, Dijkstra) for the first time has proved. We shall delete it from the column to note this fact.
    Fig. 1.5 - Dijkstra's Algorithm

    Øàã 7

         Practically there is a return to a step 2. Again we find the "nearest" raw (not deleted) top. It is top 2 with the current shortest distance up to it = 7.
    Fig. 1.6 - Dijkstra's Algorithm
    And again we try to reduce distance up to all neighbours of 2-nd top, trying to pass in them through 2-nd. Neighbours of 2-nd top are 1, 3, 4.

         The first (under the order) the neighbour of top ¹ 2 - 1-n top. But it is already processed (or is deleted - see a step 6). Therefore with 1-st top it is done nothing.

    Step 8

         Another the neighbour of top 2 - top 4. If to go in it through 2-nd the way will be = the shortest distance up to 2-nd + distance between 2-nd and 4-th tops = 7 + 15 = 22. Time 22 < ?, We establish} distance up to top ¹ 4 equal 22.
    Fig. 1.7 - Dijkstra's Algorithm

    Step 9

         One more neighbour of top 2 - top 3. If to go in it through 2-nd the way will be = 7 + 10 = 17. But 17 > already known before distance up to top ¹ 3 and equal 9, therefore the current distance up to 3-rd top we do not change.
    Fig. 1.8 - Dijkstra's Algorithm

    Step 10

         All neighbours of top 2 are seen, we freeze distance up to it and we delete from the column.

    Steps 11 - 15

         Under already "fulfilled" circuit we repeat steps 2 - 6. Now "close" appears top ¹ 3. After its "processing" we shall receive such results:
    Fig. 1.9 - Dijkstra's Algorithm

    The further steps

         We make the same with the staying tops (¹ under the order: 6, 4 and 5).
    Fig. 1.10 - Dijkstra's AlgorithmFig. 1.11 - Dijkstra's AlgorithmFig. 1.12 - Dijkstra's Algorithm

    Completion of algorithm

         The algorithm finishes work when all tops are deleted. The result of its work is seen in last figure: the shortest way from 1-st top up to 2-nd makes 7, up to 3-rd - 9, up to 4-th - 21, up to 5-th - 20, up to 6-th - 11 standard units.

    Animation of Dijkstra algorithm

    ÒÅÕÍÎËÎÃÈß WEB SERVICES

    The network the Internet became the conventional factor of a business and public life. Wide prevalence and the increased throughput create conditions at which it is favourable to solve many problems by means of Internet - technologies. However the Internet unites in itself many various platforms, and the information contains in various sources of the data. Therefore the problem of connection of such diverse data, and also creations of a way which allows to receive them as convenient for the further processing is actual. The concept of webs - services (Web Services) is called to solve this problem{task} of association, integration of diverse systems on the basis of open standards. The given work is devoted to webs - services, in it{her} substantive provisions of model of webs - services, and also components of this model and the technologies used for their realization are briefly considered. The practical part of work contains the small example showing development of web - service and appendices using it. The example is based on realization of the concept of webs - services within the framework of Java-technologies. For understanding of an example enough base knowledge Java. Webs - services are the concept of creation of such appendices which function can use the Internet by means of standard reports. Now this concept apply and develop many leading companies in IT-area. The concept of webs - services is realized by means of lines of technologies which are standardized World Wide Web Consortium (W3C). The interrelation of these technologies can be presented conditionally as follows.

    Figure 3.1 - Interrelation technology the Internet

         Webs - services are one of variants of realization of componental architecture. XML is the base to creation of the majority of the technologies connected to webs - services. For the removed interaction with webs - services it is used Simple Object Access Protocol (SOAP) [3.] SOAP provides interaction of the distributed systems, irrespective of objective model, operational system or the programming language. The data are transferred as special XML documents of a special format. According to definition W3C, webs - services it is applications which are accessible under reports which are standard for the Internet. There is no requirement that webs - services used any certain transport report. Specification SOAP defines, how messages SOAP and the transport report communicate. Most frequently transfer SOAP of messages under report HTTP is realized. Also use is widely distributed as transport report SMTP, FTP, TCP. According to definition W3C, " WSDL - format XML for the description of network services as set of the final operations working by means of messages, containing document-oriented or procedure-oriented the information " [3]. Document WSDL completely describes the interface of web - service with an external world. It{he} gives the information on services which can be received, having taken advantage of methods of service, and ways of the reference{manipulation} to these methods. Technology Universal Description, Discovery and Integration (UDDI) assumes conducting the registry of webs - services. Having connected to this registry, the consumer can find webs - services which in the best way satisfy to its requirements. Technology UDDI enables search and the publication of the necessary service, both the person, and the program - client. Search and the publication in the registry is given the program - client as a set of webs - services of registry UDDI. Webs - services are positioned as the software of an intermediate layer. Use webs - services can as the client applications directly working with the user, and other applications (including other webs - services). Webs - services are placed on servers of applications. Developers of the concept of webs - services offer the following scripts of application of webs - services: Webs - services as realization of logic of the application (business - logic). That is, creation of the new application business - logic which is realized in web - service.

    Figure 3.2 - Webs - services as realization of logic of the application

    Webs - services as an integration tool. That is, use of web - service as way of access of the removed clients to internal IS the companies, or for the organization of interaction of a component (for example, EJB, a COM-component) with the various removed clients.

    Figure 3.3 - Webs - services as an integration tool

    Creation of alternative service. In this case, by development of new web - service the description of the interface of already existing web - service is used. Thus, service has many potential clients at once from the moment of the beginning of work, and connection to it{him} does not demand essential changes on the side of the client. As it has been told above, the concept of webs - services includes an opportunity of conducting the registry of webs - services. The description of the interface can be received from such registry. After creation and introduction of new web - service, it is meaningful to register it in the registry. Then clients by search of the services realizing the initial interface, will receive the instruction and on new web - service. Use of web - service as building block at creation of the application. The application can use webs - services as the removed components which give the certain functionality. There are various services which give the qualitative decision of such problems as identification, conducting a calendar, sending of messages, search, translation, etc.

    Figure 3.4 - Communication of web - services with the application

    Besides other variants of use of webs - services are possible. For example, there are researches on use of webs - services for construction of the distributed computing and information systems and peer-to-peer and with complex hierarchical structure.

    4. STRUCTURE OF THE DISTRIBUTED SYSTEM

    The structure of the distributed network is submitted on fig. 4.1. It will consist of a server and client part. It is important to note, that the Web-server does not work directly with storehouse of the data and does not realize logic of system. These functions are concentrated in Web-service which is offered by our system. All clients based on HTML or WML the interface, work with the Web-server while for all other clients Web-service is given. Thus even the internal web-server of our system is the client for Web-service.

    Figure 4.1 - Structure of the distributed network

    For sites of the distributed system the following products of various firms - manufacturers of large corporate systems are chosen:

  • As the Web-server realization J2EE of the specification - the server of applications JBoss will serve. The choice is made in view of that this server is distributed under the free license while it is a full-function commercial product and full realization J2EE of the specification;
  • As the server for Web-service the server of applications JBoss serves also. As realization of Web-service technology Enterprise Java Beans as it allows not only to create realization of Web-service. serves but also wonderfully business of logic of system and for performance of all data stored in a DB on means Entity EJB approaches for realization, speech about which will go further in this part;
  • As the server of databases the product of firm Oracle - Oracle Database 9i as it gives us necessary parameters of reliability and fault tolerance is chosen.
  • 5. DATABASE

    The circuit of a database is submitted in figure 5.1. It describes a principle of construction of the circuit of a database at a conceptual level. At a physical level it will be used DBMS Oracle and accordingly types of the data will correspond to those which are used in DBMS. Basically due to following innovations Oracle has won today huge popularity in market DBMS:

  • Support of object-oriented technologies
  • Oracle iAS - the server of applications
  • Support of all basic platforms
  • Reserve copying and restoration of a DB
  • Support Java and XML technologies
  • Support of all basic types of a DB (OLTP/OLAP)
  • Language PL/SQL
  • Work in distributed environment
  • Apparently from the diagrams submitted in figure 5.3, on platform UNIX products of firm Oracle are in the lead in relation to other firms - manufacturers. On platform Windows NT the first places share Oracle and Microsoft. It is proved by that, that the product of firm Microsoft - MS SQL Server has been initially created for this platform and within long years has won wide popularity among users of this platform. It also had been caused our choice.

    Figure 5.1 - Circuit of the given DB

    Figure 5.1 - Circuit of the given DB

    Figure 5.2 - Section of market DBMS for platform UNIX

    Figure 5.2 - Section of market DBMS for platform UNIX

    Figure 5.3 - Section of market DBMS for platform WINDOWS

    Figure 5.3 - Section of market DBMS for platform WINDOWS

    6. CONCLUSIONS

         The given research shows, that the task in view assumes presence of well thought over architecture of the distributed network, and also well thought over algorithm of search of the shortest way on the column., the analysis of speed of algorithms is necessary for optimization of work of the program that assumes conducting detailed statistics of work of all services.

         All data should be stored in a DB, and for work with them it is necessary to use classes controlled by the controller. Business methods should work directly with these classes, instead of with DBMS. Also, as well as the Web-server should work with Web-service, instead of from a DB.

         As above the project 2 programmers it is necessary to use patterns of designing at a spelling of a code which will be an intermediate link between them work. The pattern Abstract factory is the most suitable as it allows to share the interface and realization of the module of work with columns, giving the programmer who uses the given module, dynamically to receive copies of concrete classes of realization of library. It in turn will allow to create some realizations of library of work with columns and dynamically them to change in an operating time of system.

    PS:At the moment of creation of this page the project is at a stage of development. The full text of masters work will be accessible after protection in 2007.

     
    DonNTU> DonNTU Masters portal | Biography | Abstract | Library | Links | Search report | Ind. task
    Copyright © 2006.