Abstract to masters work

Student of Donetsk National Technical University Morozov Dmytro

Theme of master work: System simulation of the technological chart of production line and processing with documents

Scientific supervisor: associate professor of CE department, candidate of technical sciences Sergei Vasilevich Teplinski



Introduction

My masters work in tightly connected with Ukrainian industrial complex. This is the part of my cooperation with Engineer Technical Center (ITC) Siemens Ukraine in developing enterprise system for creating, modifying, accessing plants' schemes and documents associated to the factories projects.

The main goals of the project are:

  • Easy search of documentation
  • Simple engine for drawing factories schemes and independent decision-making for optimizing solutions
  • Collaboration in intranet

Obviously, the system being developed is ERP-system which is an Integrated computer-based system used to manage internal and external resources including tangible assets, financial resources, materials, and human resources. [1] Searching for existing solutions gave the next coming result. On the one hand, there are at least 5 vendors of professional ERP-systems: SAP, Oracle Applications, The Sage Group, Microsoft Dynamics, SSA Global Technologies. [2] But ITC doesn't need so wide bunch of technologies which these corporations offer in their suites. On the other hand, standalone programs, which suites our needs the best because of matching prime criteria, for example Microsoft Office, Microsoft SharePoint, Microsoft Visio and their analogs disagree the integrity of the project and meet many difficulties while explaining the staff how to work with these suites.

Next I will try to introduce you some important aspects of my work

Project structure

The structure of the project is shown in animation 1 below.


Project structure

Animation 1. Project structure. 7 shots by 1 second, 25 kb


Project consists of the main module written in ASP.NET 4 (which is a unified Web development model that includes the services necessary for you to build enterprise-class Web applications with a minimum of coding [3]) including security implementations, navigation, master-pages etc. (these thing will be uncovered below). It also have 3 applications playing their small roles in project. Main module (or the application hub for 3 satellite-applications) requests data from Microsoft SQL Server database via ADO.NET. ADO.NET is the technique that provides consistent access to data sources such as Microsoft SQL Server [4]. Next things I want to tell you are all components of the system


Application hub

This module is the prime in the project. It implements basic functions required for the fast, comfort and secure work for personnel and other applications. Hub is some kind of kernel which is connected to others methods and services via special functions and interfaces

The most important function implemented by kernel is security. Security is the most significant part of Web-based application and it must be designed long before the other code is written. There are some mechanisms for security implementing such as delegating and managing rights, access to the valuable information and resources stored at server and transmitting via wires.

ASP.NET security system includes classes for users' authentication and authorization, as far as managing the authenticated users... More, .NET Framework itself offers set of generic classes for implementing confidentiality and integrity via encryption and digital signatures.

With ASP.NET 2.0 security infrastructure was greatly extended via implementing high-level model of managing users and roles embodied both in software and embedded administration tools. [5]

Also the good way to make the application more secure is using guardians - conveyer model in organization of security infrastructure.

For the biggest part of Web application tasks for security implementation are always the same:

  • Authentication.
  • Authorization.
  • Confidentiality.
  • Integrity.

I think there are no reasons to explain how developing secure and reliable enterprise application is important, especially when they deal with personnel authorization and databases accessing. So I just elaborate the security levels providing data confidentiality in application:

  • Traffic encryption with SSL (SSL is secure protocol using by Web-browsers for secure connection to Web-servers [6]).
  • Database records encrypting.
  • Mixing-up characters in browsers address bar.

For making application more integral main module uses master-pages that grant flexible and scalable opportunities for application of any complexity.

To make navigation easier hub implements site map. This allows user to jump from application’s one page to another.


Application for schemes drawing

This part of functionality I fairly developed as standalone application because of its complexity and number of functions. In ITC's seeing this application will allow personnel to create schemes of factories, plants and any other structural units using the given set of primitives.

First thing I should decide was choosing the technology on which I will base my future engine for drawing. After reading [7] my first idea was using Microsoft Silverlight plugin. There are 3 significant reasons to maintenance this variant:

  1. It allows using multimedia content and high interactivity.
  2. Silverlight is based on .NET Framework, so this entails all advantages of using this framework.
  3. Silverlight perfectly joins ASP.NET infrastructure.[8]

The only lack of this solution is missing opportunity of accessing to the ADO.NET interfaces which allow working with databases via connections or requests levels. Fortunately, to the time I started development Microsoft announced Silverlight 4 and one of the brilliant features of the new version was WCF RIA Services which simplifies the traditional n-tier application pattern [9]. Having this technology, you can create communicator between Silverlight application and ADO.NET service just using WCF. Also Microsoft added some great features to the Silverlight 4: drag-n-drop support, right-click event handler, socket connections, out-of-browser mode. [10] That's why I began developing th drawing application using exact this version of Silverlight.

Here are some features of drawing application:

  • Creating schemes using drag-n-drop of the primitives to the canvas, drawing arrows and lines of different forms, colors and thickness.
  • Modifying schemes via operations with clipboard.
  • Grouping elements.
  • Dragging items within canvas.
  • Setting default sheet size in pixels with recalculation to the real physical dimensions.
  • Scaling objects and scheme at once.
  • Full-screen modes for editing and preview.
  • Scheme export to the graphical files and XML-structures.
  • Scheme printing.
  • Support for “Undo” – “Redo” logics (as specified in [11]).

Application for joint processing of documents

This application is an important part of the project and it is directed for processing of documents in small groups of 5 persons max.

Because this application to be using ADO.NET intensively I decided to develop all it only at ASP.NET to avoid useless implementing WCF and no multimedia interactivity available.

The key role in confidentiality granting are roles introduced in application hub. They limit access to the directories and documents depending on how many and what kind of right are given to your role by server. For example, engineer of department A cant access to the department B documentation, but department chief gets access the everything.

Application consists of 2 parts:

  • Directories of current project navigation.
  • File list of current directory with paging at big number of documents with ability to check between one and all files. This list has the table view with such columns: name, author, date and time last modify, document status (created, active, processing, final version), current document version.

This application provides features:

  • Uploading documents into current project directory (if user meets rights restriction).
  • Editing, copying, deleting, moving files.
  • Export files list to Microsoft Excel.
  • File search.

We also consider ability for application to integrate with Microsoft SharePoint.


Slideshow

This application is supplement to the first 2 applications. User will have opportunity to watch plants or factories photo galleries for visual evaluation some parameters. In spite of application uses multimedia content, I decided to create it in ASP.NET. For today application can switch photos in special directories (if user enough rights to do this) showing previews of next and previous photo in the gallery. The functionality of the application allows user to download photos to the local hard drive and upload new photos to the gallery.

New ideas about filling application with different kind of multimedia content came not so far away: audio and video recordings, webcasts, engineers' podcasts for sharing their ideas and cooperation, adding text and audio notes to the media content with comments and supplements.


Database project

The important part of the project ITC needs is centralized repository for storing workers records, their profiles, roles and tables for each project developed inside ITC. This is right the same place where my application would request data from via ADO.NET mechanisms. Database itself was developed by ITC using Microsoft SQL Server and was given me soon after my joining to the project.


Conclusion

Up to this moment (May 2010) master work is not finished yet. According to the deadline set by ITC Siemens Ukraine my project must be developed until July 1st, 2010. After this it will overcome to closed beta-testing phase (July 2010). Then the period of server software preparing begins. Server will store application and database. In August 2010 the deployment on server will take place and we will launch public beta-testing until September 1st, 2010. During my practice at ITC I will elaborate the software written in my master work bounds. Please contact me or my supervisor if you have questions about my project.


References

  1. Enterprise resource planning [Electronic resource] - Access mode: http://en.wikipedia.org/wiki/Enterprise_resource_planning
  2. List of ERP vendors [Electronic resource] - Access mode: http://en.wikipedia.org/wiki/List_of_ERP_vendors
  3. ASP.NET Overview [Electronic resource] - Access mode: http://msdn.microsoft.com/en-us/library/4w3ex9c2.aspx
  4. Overview of ADO.NET [Electronic resource] - Access mode: http://msdn.microsoft.com/en-us/library/h43ks021(VS.71).aspx
  5. Мак-Дональд, Мэтью, Шпушта, Марио. Microsoft ASP.NET 3.5 с примерами на C# 2008 и Silverlight 2 для профессионалов, 3-е изд.: Пер. с англ. - М.: ООО "И.Д.Вильямс", 2009. - 1408 с.: ил. - Парал. тит. англ.
  6. Фергюсон, Нильс, Шнайер, Брюс. Практическая криптография.: Пер. с анг. - М.: Издательский дом "Вильямс", 2005. - 424 с.: ил. - Парал. тит. англ. [p. 394]
  7. Может ли Silverlight быть основой для построения Enterprise Web UI? [Electronic resource] / Яков Галкин - Access mode: http://www.gotdotnet.ru/blogs/fulcrumweb/6629/
  8. Silverlight Architecture [Electronic resource] - Access mode: http://msdn.microsoft.com/en-us/library/bb404713(VS.95).aspx
  9. WCF RIA Services [Electronic resource] - Access mode: http://www.silverlight.net/getstarted/riaservices/
  10. Microsoft Silverlight [Electronic resource] - Access mode: http://en.wikipedia.org/wiki/Silverlight#Silverlight_4
  11. New CodePlex project: a simple Undo/Redo framework [Electronic resource] / Kirill Osenkov - Access mode: http://blogs.msdn.com/b/kirillosenkov/archive/2009/06/29/new-codeplex-project-a-simple-undo-redo-framework.aspx