Профессиональное программирование на PHPСтраница 341 из 591 |
||
|
352 Глава 14 Поддержка сеансов ма эффективны в аспекте использования баз данных и серверов. Это также означает, что они вполне (при незначительной модификации) применимы для распределенных систем. ■ Серверные сеансы — в эту категорию входят методики, предполагающие небольшие объемы передачи данных между клиентом и сервером. Обычно сеансу назначается идентификатор, который затем просто передается между клиентом и сервером. На стороне сервера информация о состоянии хранится в кэше (обычно в базе данных или в файле), а идентификатор сеанса используется для связывания запроса с набором данных о его состоянии. Некоторые методики серверных сеансов трудно расширить для использования в распределенной архитектуре. В предыдущих главах рассматривались механизмы кэширования сеансов с целью повышения производительности. Принципиальное различие между рассмотренным ранее кэшированием сеансов и состоянием сеансов заключается в том, что кэширование сеансов оперирует данными, которые уже доступны в медленном режиме, и трансформирует их в более быстрый и удобный формат. Состояние сеанса представляет собой информацию, которая недоступна ни в каком другом формате. Информация о состоянии сеансов необходима для корректной работы приложений. Клиентские сеансы Для того чтобы назначить эффективное лечение, врачу необходима медицинская история пациента. Один из способов предоставить такую информацию заключается в том, чтобы носить историю с собой и предоставлять ее врачу. Этот метод гарантирует, что у врача всегда будут наиболее актуальные медицинские записи по данному пациенту, поскольку существует единственная их копия и она хранится у самого пациента. И хотя эта практика более не является широко распространенной в Соединенных Штатах, благодаря недавним достижениям в технологии хранения данных, каждый человек может получить смарт-карту, содержащую его полную медицинскую историю. Такие методы очень похожи на клиентские сеансы, поскольку пользователь носит с собой всю информацию, которая может понадобиться. Это устраняет необходимость в централизованном хранении данных. Альтернативный способ заключается в том, чтобы оставить медицинские данные на хранение в офисе врача или HMO (Health Maintenance Organization — в настоящее время этот способ распространен в США). Такой метод похож на серверные сеансы, при которых пользователь носит с собой только идентификационную карточку, а его записи ищутся на основании номера социального страхования или другого идентификатора. Такая аналогия ярко демонстрирует уязвимость клиентских сеансов. ■ Существует потенциальная возможность неавторизованного изучения и фальсификации данных. ■ Клиентские сеансы сложно транспортировать. ■ Существует потенциальная угроза потери данных. Клиентские сеансы получили плохую репутацию и вытесняются серверными. Разработчики часто склонны чрезмерно усложнять решения, используя серверы приложений и методики управления сеансами с интенсивными обращениями к базам |
| |
|
В начало ←предыдущая следующая→ ... 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 ... | ||