دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش: 1
نویسندگان: Paul Dix
سری:
ISBN (شابک) : 9780321659361, 0321659368
ناشر: Addison Wesley Professional
سال نشر: 2010
تعداد صفحات: 319
زبان: English
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود)
حجم فایل: 3 مگابایت
در صورت تبدیل فایل کتاب Service-Oriented Design with Ruby and Rails به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب طراحی خدمات مبتنی بر روبی و ریل نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
راهنمای کامل برای ساخت برنامههای ریلی مبتنی بر خدمات و مقیاسپذیری بالا. استقرار Ruby on Rails در حال رشد است و Rails به طور فزایندهای در محیطهای بزرگتر مورد استفاده قرار میگیرد. امروزه، توسعهدهندگان و معماران Rails به راههای بهتری برای ارتباط با سیستمهای قدیمی، انتقال به فضای ابری و مقیاسبندی برای مدیریت حجمهای بالاتر و پیچیدگی بیشتر نیاز دارند. در طراحی سرویس گرا با روبی و ریل، پل دیکس یک رویکرد طراحی قدرتمند و مبتنی بر خدمات را برای غلبه بر همه این چالش ها معرفی می کند. با استفاده از تکنیکهای Dix، خوانندگان میتوانند از مزایای کامل Ruby و Rails بهره ببرند و در عین حال بر مشکلات کار با پایگاههای کد و تیمهای بزرگتر غلبه کنند. Dix نحوه ادغام چندین مؤلفه را در پشته برنامه سازمانی نشان می دهد. خدماتی را ایجاد کنید که به راحتی رشد کرده و به هم متصل شوند. و سیستم هایی را طراحی کنید که نگهداری و ارتقاء آنها آسان تر باشد. مفاهیم کلیدی با کد Ruby دقیق که با استفاده از کتابخانه های منبع باز مانند ActiveRecord، Sinatra، Nokogiri و Typhoeus ساخته شده است، توضیح داده شده است. این کتاب با پوشش امنیت، مقیاسبندی، پیامرسانی و رابط با خدمات شخص ثالث به پایان میرسد. طراحی سرویسگرا با Ruby و Rails به شما کمک میکند تا معماریهای سرویس مبتنی بر روبی بسیار مقیاسپذیر بسازید که بهراحتی در فضای ابری یا با سیستمهای قدیمی سیستمهای Scale Rails برای رسیدگی به درخواستهای بیشتر، تیمهای توسعه بزرگتر و پایههای کد پیچیدهتر کار میکنند. طراحی و ایجاد سرویسها در RubyUse Ruby برای چسباندن سرویسهای نوشتهشده به هر زبانی استفاده از کتابخانههای Ruby برای ساخت و مصرف سرویسهای وب RESTful استفاده از تجزیهکنندههای Ruby JSON برای نشان دادن سریع منابع از سرویسهای HTTP نوشتن بستههای API سبک وزن و با طراحی خوب در اطراف سرویسهای داخلی یا خارجی کشف غیرریلهای قدرتمند چارچوبهایی که اجرای سرویس Ruby را ساده میکنند پیادهسازی پیامهای سازمانی مبتنی بر استانداردها با پروتکل صف پیام پیشرفته (AMQP) بهینهسازی عملکرد با متعادلسازی بار و حافظه پنهان ارائه امنیت و احراز هویت
The Complete Guide to Building Highly Scalable, Services-Based Rails Applications Ruby on Rails deployments are growing, and Rails is increasingly being adopted in larger environments. Today, Rails developers and architects need better ways to interface with legacy systems, move into the cloud, and scale to handle higher volumes and greater complexity. In Service-Oriented Design with Ruby and Rails Paul Dix introduces a powerful, services-based design approach geared toward overcoming all these challenges. Using Dix’s techniques, readers can leverage the full benefits of both Ruby and Rails, while overcoming the difficulties of working with larger codebases and teams. Dix demonstrates how to integrate multiple components within an enterprise application stack; create services that can easily grow and connect; and design systems that are easier to maintain and upgrade. Key concepts are explained with detailed Ruby code built using open source libraries such as ActiveRecord, Sinatra, Nokogiri, and Typhoeus. The book concludes with coverage of security, scaling, messaging, and interfacing with third-party services. Service-Oriented Design with Ruby and Rails will help you Build highly scalable, Ruby-based service architectures that operate smoothly in the cloud or with legacy systemsScale Rails systems to handle more requests, larger development teams, and more complex code basesMaster new best practices for designing and creating services in RubyUse Ruby to glue together services written in any languageUse Ruby libraries to build and consume RESTful Web servicesUse Ruby JSON parsers to quickly represent resources from HTTP servicesWrite lightweight, well-designed API wrappers around internal or external servicesDiscover powerful non-Rails frameworks that simplify Ruby service implementationImplement standards-based enterprise messaging with Advanced Message Queuing Protocol (AMQP) Optimize performance with load balancing and caching Provide for security and authentication
Cover......Page 1
Contents......Page 8
Foreword......Page 14
Preface......Page 16
Acknowledgments......Page 20
About the Author......Page 22
What’s a Service?......Page 24
Sinatra......Page 25
JSON......Page 26
Rspec......Page 27
The User Service Implementation......Page 28
Using GET......Page 29
POSTing a User......Page 34
PUTing a User......Page 36
Deleting a User......Page 38
Verifying a User......Page 39
Finding a User......Page 41
Creating a User......Page 44
Updating a User......Page 45
Verifying a User......Page 47
Conclusion......Page 49
Use of Service-Oriented Design in the Wild......Page 50
Service-Oriented Design Versus Service-Oriented Architecture Versus RESTful-Oriented Architecture......Page 51
Making the Case for Service-Oriented Design......Page 52
Isolation......Page 53
Robustness......Page 57
Scalability......Page 58
Agility......Page 59
Interoperability......Page 60
Conclusion......Page 61
A Typical Rails Application......Page 64
The Rails Social Feed Reader Application......Page 68
Current Setup......Page 69
Breaking Up the Application into Services......Page 77
Conclusion......Page 81
Partitioning Functionality into Separate Services......Page 82
Partitioning on Iteration Speed......Page 83
Partitioning on Logical Function......Page 84
Partitioning on Read/Write Frequencies......Page 85
Partitioning on Join Frequency......Page 86
Including a Version in URIs......Page 87
Using Accept Headers for Versioning......Page 88
URIs and Interface Design......Page 89
HTTP Status Codes......Page 91
HTTP Caching......Page 92
Successful Response Bodies......Page 93
Error Response Bodies......Page 95
Storing References......Page 96
Joining at the Highest Level......Page 97
API Complexity......Page 98
Multi-Gets......Page 99
Multiple Models......Page 100
Conclusion......Page 101
The Vote Service......Page 102
A Multi-Get Interface......Page 104
The Vote Interface......Page 105
API Design Guidelines......Page 108
Models......Page 109
Rails 2.3 Routes......Page 111
Rails 3 Routes......Page 112
The Rails Controller......Page 113
Sinatra......Page 118
Rack......Page 123
Conclusion......Page 129
Blocking I/O, Threading, and Parallelism......Page 130
Multi-threading......Page 131
Making Single Requests......Page 132
Making Simultaneous Requests......Page 134
Multi-threaded Requests......Page 136
JRuby......Page 138
Logging for Performance......Page 140
Handling Error Conditions......Page 141
Testing and Mocking Service Calls......Page 142
Conclusion......Page 144
Packaging......Page 146
Jeweler......Page 147
Parsing Logic......Page 150
The JSON Gem......Page 151
YAJL Ruby......Page 152
Wrapping Parsed Results......Page 153
Validations......Page 155
Serialization......Page 157
Data Reads......Page 159
Data Writes......Page 165
Mocks, Stubs, and Tests......Page 166
Conclusion......Page 169
Latency and Throughput......Page 170
Load Balancing Algorithms......Page 171
Implementing Load Balancing......Page 175
Caching with Memcached......Page 178
The Memcached Client and ActiveRecord......Page 179
Time-Based Expiration......Page 181
Manual Expiration......Page 182
Generational Cache Keys......Page 183
Expiration-Based Caching......Page 185
Validation-Based Caching......Page 186
Implementing HTTP Caching......Page 188
Conclusion......Page 189
XML......Page 190
REXML......Page 193
Nokogiri......Page 197
Exploring Web Services with a WSDL File......Page 200
Making Requests......Page 203
Conclusion......Page 207
Authentication......Page 208
HTTP Authentication......Page 209
Signing Requests......Page 210
SSL for Authentication......Page 221
Authentication for Rails Applications......Page 222
Firewalls......Page 224
An RBAC Authorization Service......Page 226
Encryption......Page 232
Public/Private Key Pairs for Encryption......Page 233
Conclusion......Page 237
What Is Messaging?......Page 238
Synchronous Versus Asynchronous Messaging......Page 239
RabbitMQ and AMQP......Page 240
Exchanges and Bindings......Page 241
Durability and Persistence......Page 246
Client Libraries......Page 247
Messaging-Based Writes......Page 250
The CAP Theorem......Page 253
Eventual Consistency......Page 254
Designing Around Consistency......Page 255
Operations on Fields......Page 257
Modifications to Field Operations......Page 258
Conclusion......Page 259
12 Web Hooks and External Services......Page 260
Web Hooks......Page 261
PubSubHubbub......Page 262
Receiving Web Hooks......Page 263
Providing Web Hooks......Page 265
Strategies for Dealing with Failure......Page 267
OAuth......Page 268
Implementing an OAuth Consumer......Page 269
Implementing an OAuth Provider......Page 272
Consuming Data......Page 274
Pushing Data......Page 276
Worker Processes......Page 277
Ensuring Performance and Reliability......Page 281
Metrics......Page 282
Throttling and Quotas......Page 283
Conclusion......Page 284
Roy Fielding’s REST......Page 286
Architectural Elements......Page 287
REST and Resources......Page 288
URIs and Addressability......Page 289
Representations......Page 290
HTTP Methods......Page 291
HTTP Headers......Page 294
HTTP Status Codes......Page 297
Conclusion......Page 298
A......Page 300
B......Page 301
C......Page 302
D......Page 304
E......Page 305
G......Page 306
I......Page 307
L......Page 308
M......Page 309
O......Page 310
P......Page 311
R......Page 312
S......Page 315
T......Page 317
V......Page 318
W......Page 319
Y......Page 320