Software Platforms Of Information and Communication Systems

Major: Information and Communication Systems
Code of subject: 6.126.02.E.088
Credits: 5.00
Department: Telecommunication
Lecturer: DSc. in enineering, Assoc. Prof. Demydov I.V.
Semester: 5 семестр
Mode of study: денна
Learning outcomes: Learning outcomes of this discipline detail the following programmatic learning outcomes: • Apply the knowledge of fundamental and natural sciences, system analysis and simulation technologies, standard algorithms and discrete analysis in solving problems of designing and using information systems and technologies; • To use basic knowledge of computer science and modern information systems and technologies, programming skills, technology of safe work in computer networks, methods of creating databases and Internet resources, technology for the development of algorithms and computer programs in high-level languages ??using object- oriented programming to solve the tasks of designing and using information systems and technologies; • Conduct systematic analysis of design objects and substantiate the choice of structure, algorithms and methods of information transfer in information systems and technologies; • To argue the choice of software and hardware for the creation of information systems and technologies based on the analysis of their properties, designation and specifications, taking into account the requirements of the system and operating conditions; have skills of debugging and testing of software and technical means of information systems and technologies; • Demonstrate knowledge of the state-of-the-art information technology technologies, practical skills in programming and use of applied and specialized computer systems and environments for the purpose of their implementation in professional activities; • To substantiate the choice of the technical structure and to develop the corresponding software that is part of the information systems and technologies. As a result of studying a discipline, a specialist should know: • features of object-oriented and functional programming of telecommunication system platforms (infocommunication systems); • basic approaches to the creation of distributed service architecture, in particular, cross-platform; • The basics of developing, debugging and maintaining effective information communication software solutions based on the use of parallel programming languages ??in complex distributed infocommunication system platforms; • languages ??and programming algorithms; operating systems and network technologies; computer methods for collecting, processing, analyzing, transmitting and storing information; methods and means of distributed systems and parallel computing; • methods and means of information technologies; technologies and tools for the development of information systems in various sectors of the economy; • mathematical methods, computer models, modeling languages ??and software tools for practical tasks in this specialty; • Information technologies for solving tasks of classification, development, deployment and operation of various information systems and their components. A trained specialist should be able to: • choose the most effective software platform for implementing the necessary information communication solution based on efficiency / reliability criteria; • apply the parallel programming skills of distributed infocommunication platforms and cross-platform systems; • create distributed client-server solutions for infocommunication purposes; • Integrate heterogeneous technologies of system programming in a single infocommunication software platform using DBMS; • formulate new tasks and ideas in the field of intellectual information technologies, choose the appropriate directions and appropriate methods for their solution; • to apply methods and means of modern information technologies for design, development and deployment of application information systems in various fields; • apply methods and means of modern information technology for modeling, designing and developing communication systems, Web-oriented systems, smart systems, sensor systems, embedded systems, micro / nano-systems and their analogues; • deploy, administer and accompany information systems based on network technologies and the ability to develop technical documentation; • Develop functional environments using open systems, application programming interfaces, applications and applications with properties: expandability, scalability, interoperability, integrity and reliability.
Required prior and related subjects: Previous academic disciplines: Operating Systems; Algorithmization and programming; System programming. Associate and the following academic disciplines: Web-oriented information systems; Designing a subsystem of information security; Workshop on the development of software platforms for information and communication systems; Technologies of information systems programming.
Summary of the subject: Currently, hardware and software platforms and technologies are rapidly evolving, continuously emerging new and new opportunities. At the same time, there is a known tendency towards interoperability of platforms and compatibility of technologies. Within this discipline are considered the main trends of this development. Having studied the training material of this course, students will learn or add their knowledge about the existing major hardware and software platforms, architectural peculiarities of their implementation; learn or supplement their knowledge of core cross platform technologies (including CORBA, SOAP, COM / DCOM, .NET, EJB, JINI, Web technologies, etc.), IDL language, Enterprise Java Beans application technology, JNDI technology, network protocol LDAP The entire course is based on the consideration of specific examples. Within the limits of the actual lecture course the following questions are considered: • Major software platforms and technologies: main hardware and software platforms; processor architecture; Microsoft platform (Windows NT / XP / ...); cross-platform technologies. • Technologies: CORBA; SOAP; COM / DCOM and .NET 8; Enterprise Java Beans; JINI 10 • Web technologies; CGI scripts; special interpreted scripting languages. • Applets; Servlets • CORBA Technology: CORBA Technology Basics; CORBA architecture. • Language IDL: Link to IDL; Creation of CORBA-systems; examples. • Java Stored Procedures. • Appendix: Dictionary of terms for CORBA 71. • Enterprise Java Beans Technology. Part 1: History and the need for the emergence of EJB; general description of EJB architecture; session components; examples. • Enterprise Java Beans Technology. Part 2: Object components; examples; message-driven components. • Transaction Mechanism in EJB. • Security in EJB. • Example: limiting access to EJB methods. • JNDI and applications: JNDI. General information about JNDI. Example: use JNDI to access DataSource. • General information about LDAP. Example: user authorization system based on LDAP. • Features of installing and configuring software: installing the Oracle 9i database; Install Eclipse-WTP; install XDoclet. • Security of Java and .NET software platforms.
Assessment methods and criteria: During the study, students conduct a laboratory workshop containing dozens of various practical-oriented tasks, the solution of which requires substantial theoretical training in accordance with this program. Evaluation of the results of laboratory work is provided as the main form of ongoing control. Blitz testing at lecture and laboratory classes is also foreseen. Evaluating the results of an individual research task by means of their protection allows students to be motivated in order to improve their quality and receive additional marks. Semester examinations are conducted in written form on the basis of the developed set of exam papers, which is approved at the corresponding meeting of the department.
Recommended books: 1. Томпсон С., Чезарини Ф. Программирование в Erlang / Пер. с англ. Холомьёва А. О. - М.: ДМК Пресс, 2012. - 488 с.: ил. (Серия "Функциональное программирование"). 2. Armstrong J. Programming Erlang. Software for a Concurrent World. Dallas, TX: The Pragmatic Bookshelf, 2007. – 519 pp.: illustrated. 3. Фримен А. Pro .NET 4 Parallel Programming in C#. М.: Apress, 2010. – 328 c.: ил. 4. Neward T. Server-Based Java Programming. Grinwich: Manning, 2013. – 556 pp. 5. В.В. Кулямин. Технологии программирования. Компонентный подход. М.: Бином, 2014. – 464 с. 6. И. Соммервилл. Инженерия программного обеспечения. М.: Вильямс, 2002. 7. Г. Буч. Объектно-ориентированный анализ и проектирование с примерами приложений на C++. Второе издание. М.: Бином, СПб.: Невский диалект, 2000. 8. У. Ройс. Управление проектами по созданию программного обеспечения. М.: Лори, 2002. 9. А. Якобсон, Г. Буч, Дж. Рамбо. Унифицированный процесс разработки программного обеспечения. СПб.: Питер, 2002. 10. К. Бек. Экстремальное программирование. СПб.: Питер, 2002. 11. E. Yourdon. Modern Structured Analysis. Prentice Hall, 1988. 12. T. DeMarco. Structured Analysis and System Specification. A Yourdon Book, Yourdon Inc., NY, 1979. 13. C. Sarson, T. Gane. Structured Systems Analysis. Englewood Cliffs, NJ.: Prentice-Hall, 1979.