будущее уже сегодня

ПАЛАГИН АНТОН AKA TONY

Спецвыпуск: Хакер, номер #065, стр. 065-018-1

(TONY@EYKONTECH.COM)

СОВРЕМЕННОЕ ПРОГРАММИРОВАНИЕ

ИДЕТ РАННИЙ ЭТАП РАЗРАБОТКИ ИНФОРМАЦИОННЫХ СИСТЕМ, МЕЖДУ ЗАКАЗЧИКОМ И ИСПОЛНИТЕЛЕМ ТОЛЬКО УТРЯСАЮТСЯ ПУНКТЫ ТЕХНИЧЕСКОГО ЗАДАНИЯ. КАК РАЗ В ЭТО ВРЕМЯ ОБНАРУЖИВАЕТСЯ ПРОБЛЕМА ВЫБОРА СРЕДСТВ ИНТЕГРАЦИИ КОМПОНЕНТОВ РАЗРАБАТЫВАЕМОЙ СИСТЕМЫ

требования

к современному прикладному программному обеспечению основаны на возможностях глобальной интеграции информационных технологий, возникшей благодаря развитию мировой паутины. Если программа варится в собственном соку и находится на одиноком «пентиуме», закопанном под землю, ей никто не заинтересуется. Сегодня человек, который, например, возвращается на электричке из загородной поездки, может заказать на дом мороженое к ужину, а все благодаря мобильному телефону. Если ты современный водитель-дальнобойщик, за твоим вояжем наблюдают из центра управления поездками, и только попробуй слить бензин — твоя зарплата уменьшится на сумму слитого горючего.

Как же выглядит современная информационная система? Банальная схема «клиент — сервер» здесь не подойдет. Ближе к правде будет схема «много клиентов — много серверов». Объем современных потоков данных давно перестал быть таким, чтобы было возможно перевести их в простые схемы. Так что любая деятельность предприятия дифференцируется на процессы, процессы разбиваются на подпроцессы, или сервисы, которые в свою очередь делятся на логические операции.

Если ты, к примеру, рядовой программист в аутсорсинговой конторе, то тебе хорошо знакомы процессы реализации программного кода, написания тестов, документирования, работы с багтреком и контроля версий. Менеджер твоего проекта оперирует процессами управления проектом. Заказчик программы знаком с процессом мониторинга состояния проекта, а отдел качества — с процессами контроля качества продукции. Каждый знает свою роль в ежедневной деятельности организма компании. Подобная дифференциация позволяет четко выделить частную функциональность в огромной кипе, которая образуется общей функциональностью информационной системы предприятия. Разработать такие системы на одном языке программирования невозможно. Целевая система всегда получается гетерогенной с широким спектром программных и аппаратных платформ. Для интеграции компонентов системы используются компонентные технологии DCOM, CORBA, Enterprise JavaBeans и web-сервисы.

решения на базе технологий DCOM и CORBA

в 90-х годах пользовались большой популярностью. Эти монстры программной инженерии пытались предоставить разработчику серебряную пулю — универсальный инструмент, решающий любые проблемы.

В чем заключается суть этих технологий? На серверной стороне реализуются методы объектов взаимодействия, абстрактные интерфейсы этих объектов описываются на специальном языке определения интерфейсов IDL. Клиент, который пытается обратиться к серверному объекту, должен компилироваться с учетом IDL-кода интерфейса. Взаимодействие по сети происходит с помощью специальной надстройки над протоколом TCP/IP — RPC (Remote Procedure Calling) в случае с DCOM или собственным аналогом RPC в случае CORBA. Клиент такой модели вызывает на своей стороне методы заглушки (stub), которая обращается к ядру DCOM/CORBA. Ядро запаковывает данные вызова в бинарные пакеты и отсылает их на сервер по TCP/IP. Сервер принимает эти пакеты, выбирает вызываемый метод в заглушке указанного объекта, выполняет его и возвращает результат выполнения клиенту, в результате у клиента возникает иллюзия того, что код на сервере выполнен. И все идет хорошо, пока клиентский и серверный код пишутся на одном языке и запускаются на одной платформе.

Содержание  Вперед на стр. 065-018-2
Выпуски журнала "СПЕЦ Xakep"
Cпец Хакер #01Cпец Хакер #02Cпец Хакер #03Cпец Хакер #04Cпец Хакер #05Cпец Хакер #06Cпец Хакер #07Cпец Хакер #08Cпец Хакер #09Cпец Хакер #10Cпец Хакер #11Cпец Хакер #12Cпец Хакер #13Cпец Хакер #14Cпец Хакер #15Cпец Хакер #16Cпец Хакер #17Cпец Хакер #18Cпец Хакер #19Cпец Хакер #20Cпец Хакер #21Cпец Хакер #22Cпец Хакер #23Cпец Хакер #24Cпец Хакер #25Cпец Хакер #26Cпец Хакер #27Cпец Хакер #28Cпец Хакер #29Cпец Хакер #30Cпец Хакер #31Cпец Хакер #32Cпец Хакер #33Cпец Хакер #34Cпец Хакер #35Cпец Хакер #36Cпец Хакер #37Cпец Хакер #38Cпец Хакер #39Cпец Хакер #40Cпец Хакер #41Cпец Хакер #42Cпец Хакер #43Cпец Хакер #44Cпец Хакер #45Cпец Хакер #46Cпец Хакер #47Cпец Хакер #48Cпец Хакер #49Cпец Хакер #50Cпец Хакер #51Cпец Хакер #52Cпец Хакер #53Cпец Хакер #54Cпец Хакер #55Cпец Хакер #56Cпец Хакер #57Cпец Хакер #58Cпец Хакер #59Cпец Хакер #60Cпец Хакер #61Cпец Хакер #62Cпец Хакер #63Cпец Хакер #64Cпец Хакер #65Cпец Хакер #66Cпец Хакер #67Cпец Хакер #68Cпец Хакер #69Cпец Хакер #70Cпец Хакер #71Cпец Хакер #72Cпец Хакер #73Cпец Хакер #74Cпец Хакер #75