Оглавление:
- Обеспечение максимальной производительности
- Работа с проблемами безопасности
- Обеспечение взаимодействия
- Решение о том, к чему могут обратиться ваши пользователи
Видео: Шаблон проектирования MVC и его реализация в Zend Framework 2024
Вам следует рассмотреть несколько стратегий, чтобы лучше понять, как вы будете проектировать свои веб-службы. Как вы организуете свой код в проектах, классах, методах, свойствах и событиях? После того, как вы точно определите, что ваши требования и какие сценарии вам нужно будет обрабатывать, вы можете приступить к разработке своего приложения. Вы должны сконструировать проекты веб-сервисов в один или несколько объектов, которые обрабатывают функциональность.
Обеспечение максимальной производительности
Как и в любом программном проекте, вы должны учитывать некоторые соображения дизайна. Производительность - одна из самых больших проблем. И так много областей влияют на производительность. Некоторые из соображений производительности основаны на оборудовании, но некоторые соображения производительности, такие как память, также основаны на программном обеспечении.
С памятью больше всегда лучше. Однако, сколько достаточно? Лучше следовать рекомендациям, основанным на требованиях производителя программного обеспечения для каждой части программного обеспечения, загруженного на компьютер. Затем определите величину, большую, чем это.
Самый простой способ оценки объема необходимой памяти - определить максимальный объем памяти, необходимый для каждого приложения одновременно. Вам также нужно учитывать, сколько пользователей вы ожидаете в любое время.
Ниже перечислены некоторые компоненты:
- Требования к операционной системе (ОС): То есть объем памяти, который должен иметь сервер, чтобы пользователи могли безопасно запускать текущую ОС и другие установленные программного обеспечения. Например, скажем, у вас есть две веб-службы, которые будут размещены на сервере Windows 2000 Server. Для Windows 2000 Server требуется 128 МБ памяти.
- . NET: Например, скажем, что структура занимает 128 МБ памяти на сервере. Вместе операционная система и инфраструктура занимают в общей сложности 256 МБ памяти на вашем сервере, и это даже не рассматривает объекты веб-служб, которые вы будете разрабатывать.
- Пользователи: То есть количество пользователей, которые могут использовать веб-службу в любой момент времени. Предположим, вы ожидаете, что 100 пользователей должны будут использовать каждый из двух объектов веб-сервисов в любое время.
- Требования к веб-сервису: Это очень сложно оценить с любой степенью точности, но, как минимум, добавить все пространство, которое будет занимать каждый из типов данных.
- Накладные расходы, связанные с веб-службой: То есть объем памяти вашего сервера должен превышать ваши первоначальные оценки.Если вы оцениваете накладные расходы еще на 50 тыс. Или около того для каждой веб-службы, память начинает складываться и складываться.
Работа с проблемами безопасности
Безопасность - одна из самых больших тем в сегодняшних вычислениях. Тот факт, что веб-службы, как правило, передаются с использованием HTTP, вызывает озабоченность по поводу безопасности. Фактически, в любое время, когда вы передаете данные через Интернет, безопасность становится проблемой. Если какие-либо личные данные, такие как имена пользователей, пароли, адреса, данные кредитной карты и т. Д., Должны передаваться через Интернет, их следует зашифровать. Если он не зашифрован, любой, у кого есть инструменты взлома, сможет читать данные, передаваемые по проводу. То же самое можно сказать о корпоративной интрасети или экстрасети. Поэтому шифрование становится необходимостью.
Шифрование легко обрабатывается службами информации Интернета (IIS), , которая использует протокол Secure Sockets Layer или SSL. Единственное, что вы должны сделать для использования SSL, - это установить сертификат SSL, который вы получите от доверенной третьей стороны. После установки SSL-сертификата клиенты могут обращаться к вашим веб-сайтам или веб-службам, используя протокол HTTPS, а не HTTP. ( S означает s ecure.) Этот сертификат SSL известен как сертификат сервера .
Просто потому, что вы используете SSL для шифрования ваших данных, не означает, что каждый должен иметь доступ к вашему веб-сервису. Доступ контролируется схемой аутентификации. Вы можете контролировать, кто имеет доступ, позволяя Active Directory аутентифицироваться.
Вам также нужно знать, как ваши веб-службы должны обращаться с безопасностью. Чтобы узнать это, рассмотрите следующие вопросы:
- Может ли кто-либо или какая-либо система получить доступ к веб-службам?
- Если доступ должен быть ограничен, как вы его ограничите?
- Следует ли использовать Active Directory для аутентификации пользователей?
- Следует ли использовать Passport для аутентификации пользователей?
- Следует ли ограничивать веб-службы на основе поиска действительных пользователей в базе данных?
Ответы на эти вопросы определяют, насколько сложны ваши веб-сервисы. Конечно, проще всего разрешить всем доступ к вашим веб-службам, но это не всегда практично. Например, что, если вы взимаете плату за использование своих веб-сервисов через интернет-провайдера (ISP)?
Если вы собираетесь использовать Active Directory, вам нужно решить, как вы хотите администрировать добавление пользователей и компьютеров. Например, вы должны рассмотреть возможность автоматизации этой задачи в зависимости от того, планируете ли вы часто регистрировать новых клиентов / пользователей. Если вы собираетесь использовать поиск в базе данных, вам необходимо учесть эту функциональность в ваших проектных планах и определить детали того, как это может работать.
С другой стороны, если у вас есть Microsoft Passport для проверки подлинности, вы гарантируете, что пользователь аутентифицирован, но вам не нужно хранить информацию пользователя в вашем регионе. Помните, что вам нужно смотреть на проблемы безопасности под любым углом.
Обеспечение взаимодействия
Взаимодействие - это концепция, согласно которой разрозненные компьютерные системы должны иметь возможность разговаривать друг с другом.Например, если база данных Oracle должна работать с базой данных SQL Server, вам нужно выяснить, как это сделать. Аналогично, если вы знаете, что ваша система планирования ERP (Enterprise Resource Planning) должна взаимодействовать с системой CRM (Customer Relationship Management), вам лучше взломать.
Многие проблемы совместимости, возникающие из разрозненных систем, говорящих друг с другом, могут быть решены с помощью продукта Microsoft под названием BizTalk. BizTalk позволяет отображать разрозненные системы, разрешая использование нескольких протоколов и форматов. Внутри BizTalk использует XML для хранения сопоставлений между этими разрозненными системами.
Взаимодействие также влияет на то, как разные технологии должны работать друг с другом. Например, делает. NET компонент должен вызывать COM-компоненты? Эти две технологии несколько схожи в концепции, но не в технологии. Тем не менее, очень возможно объединить COM-компоненты. NET. Это называется COM-Interop.
Решение о том, к чему могут обратиться ваши пользователи
Вы должны определить, какую часть вашей объектной модели вы хотите сделать доступной через Интернет, что называется концепцией . Важно, чтобы вы помнили понятия компонента или объекта, которые составляют вашу объектную модель. Вы хотите выставить только абстрагированное представление о том, что необходимо для выполнения работы, и решить ваши варианты использования.
Например, если у вас есть финансовое приложение, которое решает, следует ли предоставлять ипотеку на основе определенных критериев; вы не раскрываете все детали внутренней реализации. Это ваш «секретный соус». «Чем меньше вы делитесь, тем лучше. Выставлять только минимальное количество объектов, а также минимальное количество членов (свойств, методов и событий), необходимых для выполнения работы.