Некоторые виды современного программного обеспечения.
Некоторые наиболее характерные виды современного программного обеспечения:
Клиент-серверные системы
Web – сервисы и Web-приложения
Интегрированные распределенные решения (solutions)
Встроенные системы
Системы реального времени
Программное обеспечение мобильных устройств
Программное обеспечение носимых (wearable) компьютеров
Программное обеспечение промежуточного уровня (middleware)
ПО для облачных вычислений и центров обработки данных
ПО для компьютерных кластеров
ПО для виртуализации
ПО для управления информацией (information management)
ПО для управления знаниями (knowledge management)
ПО для научных вычислений (scientific computing)
В целом для современного ПО характерна тенденция к значительному усложнению архитектуры.
Клиент-серверные системы получили широкое распространение уже в течение десятков лет. Известны следующие основные разновидности серверов: сервер приложений, Web-сервер, сервер баз данных, сервер электронной почты, файл-сервер и другие
Интернет (Web) – приложения предназначены для исполнения в Сети. В современных условиях большинство из них разрабатывается на платформе .NET или Java, хотя некоторые программисты и фирмы до сих пор пишут Интернет-приложения на C. В современном Web-программировании также широко используются языки с динамическими типами – JavaScript, Python, Ruby, для которых характерно динамическое изменение и конструирование типов во время выполнения программы, что удобно, так как отражает динамичную природу Web-приложений и Web-сайтов.
Интернет-приложения подразделяются на клиентские (например, браузеры) и серверные (например, Web-сервисы).
Интегрированные решения являются распределенными программными системами для управления информацией и функционированием предприятий, фирм, банков, университетов. Для интегрированных решений характерно наличие модулей аутентификации и авторизации пользователей, работы с базами данных, работы с сетью, реализации бизнес-логики. Интегрированные решения могут быть разработаны с использованием различных языков программирования.
Встроенные системы – это программное обеспечение специализированных микропроцессоров, управляющих работой самых различных устройств – от атомных реакторов до холодильников, кардиостимуляторов, линий электропередач и автомобилей. Характерным требованием к программному обеспечению встроенных систем является фиксированность предельно допустимого времени ответа (response time), от которого зависит работоспособность, надежность и безопасность системы и управляемого ею объекта в целом, а подчас и само существование объекта или живого организма. Типичное требование к основному циклу работы подобной системы – отсутствие прерываний, которые могут вызвать недопустимые временные задержки.
Программное обеспечение мобильных устройств – одна из наиболее современных и широко распространенных разновидностей ПО. Его особенности: ограничения на ресурсы (прежде всего – на объем памяти), необходимость учитывать различия в архитектуре конкретных моделей мобильных устройств (дисплеев и клавиш управления). ПО мобильных устройств, как правило, разрабатывается на платформе Java, либо с использованием продуктов Microsoft, например, .NET Compact Framework.
Как экзотический, но актуальный пример, приведем также ПО носимых компьютеров. Они встроены в спецодежду или обувь., используемые человеком, выполняют мониторинг состояния и поведения человека и дают экспертные рекомендации. Данный класс устройств также имеет весьма жесткие ограничения по памяти.
ПО промежуточного уровня (middleware) занимает промежуточное положение между клиентом и сервером. К наиболее типичным примерам middleware относится, например, ПО для поддержки протоколов отправки и приема мгновенных сообщений (instant messaging and presence).
ПО центров обработки данных (ЦОД) - еще один современный вид программного обеспечения. В нем особо важную роль играют СУБД, например, Microsoft SQL Server.
ПО для виртуализации – это современный вид ПО, предназначенный для инсталляции и использования виртуальных машин на реальное оборудование с целью расширения функций компьютерной аппаратуры, использования других ОС и ПО для других платформ. Пример – Microsoft Virtual PC.
ПО для облачных вычислений (cloud computing) – это сетевые операционные системы (например, Microsoft Windows Azure) и программное обеспечение, функцией которого является обеспечение работы пользователей через "облако", т.е. через сеть, хранения данных и приложений на "облачных" серверах.
ПО для управления знаниями играет в настоящее время все более важную роль, в связи с интеллектуализацией Web и все большей популярностью разработки интеллектуальных программных решений. Примеры: Protege, система управления знаниями, разработанная в Стэнфордском университете, обеспечивающая работу на языке определения онтологий OWL; система Knowledge.NET разработки Санкт-Петербургского университета, расширение C# средствами представления знаний и интегрированная среда для платформы .NET.
ПО для управления информацией (information management) – офисные приложения (например, Microsoft Office, OpenOffice) и системы управления базами данных, например, Oracle, MySQL, Microsoft SQL Server.
ПО для научных вычислений – разнообразные инструменты и пакеты программ для поддержки решения научных задач, Пример: MATHLAB.
Do'stlaringiz bilan baham: |