دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
دسته بندی: برنامه نویسی: زبان های برنامه نویسی ویرایش: نویسندگان: Dan Allen سری: ISBN (شابک) : 9781933988405, 1933988401 ناشر: Manning سال نشر: 2008 تعداد صفحات: 625 زبان: English فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) حجم فایل: 11 مگابایت
در صورت تبدیل فایل کتاب Seam in Action به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب درز در عمل نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
JBoss Seam یک چارچوب کاربردی جدید و مهیج بر اساس پلت فرم Java EE است که برای ساخت برنامه های تجاری غنی و مبتنی بر وب استفاده می شود. Seam به دلیل تمرکز بر سادگی، سهولت استفاده، ادغام شفاف و مقیاس پذیری، به سرعت در حال جلب توجه توسعه دهندگان سازمانی جاوا است.
Seam in Action نگاهی کاربردی و عمیق به JBoss Seam ارائه می دهد. این کتاب Seam را با پیچیدگیهای معماری Java EE روبرو میکند. نویسنده نمایی بیطرفانه از Seam را از خارج از دیوارهای RedHat/JBoss ارائه میکند، با تمرکز بر موضوعاتی مانند ادغام Spring و استقرار در سرورهای برنامه جایگزین برای دوری از قفل شدن فروشنده. در پایان کتاب، باید انتظار داشته باشید که نه تنها درک عمیقی از Seam به دست آورید، بلکه اعتماد به نفس لازم برای آموزش مطالب را به دیگران نیز از دست بدهید.
برای شروع، یک برنامه کاربردی سازگار با Java EE را در پایان فصل دوم خواهید دید. با پیشرفت در کتاب، متوجه خواهید شد که Seam چگونه لایهها و پیکربندیهای غیرضروری را حذف میکند، رایجترین نقاط درد JSF را حل میکند، و پیوند گمشده را بین اجزای JSF، EJB 3 و JavaBean برقرار میکند. نویسنده همچنین به شما نشان میدهد که چگونه Seam درها را به روی شما باز میکند تا فناوریهایی را که قبلاً برای یادگیری آنها وقت نداشتهاید، مانند فرآیندهای تجاری و جریانهای صفحه حالت (jBPM)، راهدور Ajax، تولید PDF، وظایف ناهمزمان و موارد دیگر را به کار ببرید.
اغلب اوقات، توسعهدهندگان بیشتر وقت خود را صرف یکپارچهسازی فناوریهای متفاوت، ردیابی دستی وضعیت، تلاش برای درک JSF، مبارزه با استثناهای Hibernate، و بهکارگیری مجدد برنامهها، به جای منطق مربوط به کسبوکار مورد نظر میکنند. Seam in Action عمیقاً به توضیحات کامل در مورد اینکه Seam چگونه این وظایف غیر اصلی را با استفاده از پیکربندی بر اساس استثناء، حاشیه نویسی جاوا 5 و برنامه نویسی جنبه گرا حذف می کند، می پردازد.
JBoss Seam is an exciting new application framework based on the Java EE platform that is used to build rich, web-based business applications. Seam is rapidly capturing the interest of Java enterprise developers because of its focus on simplicity, ease of use, transparent integration, and scalability.
Seam in Action offers a practical and in-depth look at JBoss Seam. The book puts Seam head-to-head with the complexities in the Java EE architecture. The author presents an unbiased view of Seam from outside the walls of RedHat/JBoss, focusing on such topics as Spring integration and deployment to alternative application servers to steer clear of vendor lock-in. By the end of the book, you should expect to not only gain a deep understanding of Seam, but also come away with the confidence to teach the material to others.
To start off, you will see a working Java EE-compliant application come together by the end of the second chapter. As you progress through the book, you will discover how Seam eliminates unnecessary layers and configurations, solves the most common JSF pain points, and establishes the missing link between JSF, EJB 3 and JavaBean components. The author also shows you how Seam opens doors for you to incorporate technologies you previously have not had time to learn, such as business processes and stateful page flows (jBPM), Ajax remoting, PDF generation, asynchronous tasks, and more.
All too often, developers spend a majority of their time integrating disparate technologies, manually tracking state, struggling to understand JSF, wrestling with Hibernate exceptions, and constantly redeploying applications, rather than on the logic pertaining to the business at hand. Seam in Action dives deep into thorough explanations of how Seam eliminates these non-core tasks by leveraging configuration by exception, Java 5 annotations, and aspect-oriented programming.
Seam in Action......Page 1
contents......Page 8
preface......Page 20
About the author......Page 33
Teeing off with Seam......Page 36
Seam unifies Java EE......Page 38
1.1 Which framework should I use?......Page 39
1.2.1 A complete application stack......Page 40
1.2.2 Why Seam was created......Page 41
1.2.3 Debunking the “vendor lock-in” myth......Page 42
1.2.4 Making the case for Seam......Page 43
1.3.1 Seam integrates JSF, JPA, and POJO components......Page 44
1.3.2 The contextual component model......Page 46
1.4.1 Entity classes serving as backing beans......Page 49
1.4.2 An all-in-one component......Page 50
1.4.3 Binding components to the view......Page 52
1.4.5 Clickable lists......Page 54
1.4.6 Integration tests designed for JSF......Page 55
1.5.1 Turns JSF into a pro......Page 57
1.5.2 Gets you rich quick......Page 60
1.5.3 Fosters an agile environment......Page 61
1.6 Summary......Page 62
Putting seam-gen to work......Page 64
2.1.1 Consider yourself tasked......Page 65
2.1.2 Mapping entities to the database schema......Page 66
2.2 Letting seam-gen do the initial work......Page 69
2.2.1 seam-gen’s specialty......Page 70
2.2.2 Features that seam-gen provides......Page 71
2.3 Kick off your project with seam-gen......Page 72
2.3.1 A look at the seam-gen commands......Page 73
2.3.2 A Q&A session with seam-gen......Page 75
2.3.3 Creating a basic project structure......Page 78
2.3.4 Generating the CRUD......Page 79
2.4.1 To deploy…......Page 81
2.4.2 …or to explode......Page 83
2.4.3 Switching between environments......Page 84
2.4.4 Launching JBoss AS......Page 85
2.5 Show and tell, change, and repeat......Page 86
2.5.1 Walking the course......Page 87
2.5.2 Guiding the reverse-engineering process......Page 93
2.5.3 Exploring the structure of the generated project......Page 96
2.6.1 Incremental hot deployment......Page 100
2.6.2 Accelerating development by using an IDE......Page 105
2.7 Summary......Page 114
Seam fundamentals......Page 116
The Seam life cycle......Page 118
3.1 Exploring how Seam participates in a request......Page 119
3.1.2 The JSF servlet, the workhorse of Seam......Page 120
3.1.3 Serving collateral resources via the Seam resource servlet......Page 126
3.1.4 Seam’s chain of servlet filters......Page 127
3.1.5 The Seam phase listener......Page 130
3.2 The JSF life cycle sans Seam......Page 131
3.2.1 The JSF life-cycle phases......Page 132
3.2.2 The initial request......Page 133
3.2.3 The postback......Page 135
3.2.4 Shortcomings of the JSF life cycle......Page 136
3.3 Seam’s page-oriented life-cycle additives......Page 138
3.3.1 Advanced orchestration with pages.xml......Page 139
3.3.2 Intelligent navigation......Page 140
3.3.3 Seam UI command components......Page 144
3.3.4 Page parameters......Page 145
3.3.5 Page actions: execute me first!......Page 149
3.4 Combining page actions with navigation......Page 151
3.4.1 Sanity checking a request......Page 152
3.4.2 Built-in page actions......Page 153
3.4.3 Search engine–friendly URLs......Page 155
3.5.2 Stepping through the augmented life cycle......Page 157
3.6.2 Registering an exception handler......Page 161
3.6.3 Handling the exception at the source......Page 162
3.7 Summary......Page 164
Components and contexts......Page 165
4.1.1 Seam’s context model......Page 166
4.1.2 Unifying the Java servlet contexts......Page 167
4.1.3 Seam’s new stateful contexts......Page 168
4.1.4 Seam’s enhanced servlet contexts......Page 169
4.2.1 Components vs. component instances......Page 170
4.2.2 Seam manages components......Page 172
4.3 Defining components using annotations......Page 173
4.3.1 Giving a component a @Name......Page 174
4.3.2 Putting a component in @Scope......Page 175
4.4.1 Creating the entity components......Page 176
4.4.2 Preparing an action bean component......Page 180
4.4.3 Integration testing components......Page 181
4.4.4 Hooking components into JSF......Page 183
4.5 A component’s life......Page 185
4.5.1 Loading component definitions......Page 186
4.5.2 When to @Install a component......Page 187
4.5.3 Giving a component multiple @Roles......Page 190
4.5.4 Instantiating components at @Startup......Page 191
4.5.5 Component life-cycle callbacks......Page 192
4.5.6 Wiring components together......Page 194
4.6 Using EJB 3 session beans in Seam......Page 196
4.6.2 The making of a Seam session bean component......Page 197
4.6.3 The mechanics of the interaction......Page 199
4.7 Accessing components......Page 203
4.7.1 Access modes......Page 204
4.7.2 Access strategies......Page 205
4.8 Summary......Page 212
The Seam component descriptor......Page 214
5.1 Defining components using XML......Page 215
5.1.1 Choosing your descriptor strategy......Page 216
5.1.2 The structure of the component descriptor......Page 217
5.1.3 Fine-grained component descriptors......Page 219
5.2.1 The purpose of XML namespace declarations......Page 220
5.2.2 Defining an XML @Namespace for components in a package......Page 224
5.2.3 How XML namespaces are interpreted......Page 225
5.2.4 Importing a context variable prefix......Page 228
5.3.1 Component definitions as object prototypes......Page 230
5.3.2 Where component properties are defined......Page 231
5.3.3 Property value types......Page 237
5.3.4 Wiring components together......Page 244
5.4.1 Avoiding conflicts with an existing definition......Page 247
5.4.2 Dividing the configuration between annotations and XML......Page 248
5.5.1 Using the component descriptor to control Seam......Page 249
5.5.2 Configuring Seam’s internationalization support......Page 250
5.6 Summary......Page 253
Absolute inversion of control......Page 254
6.1.1 Introducing bijection......Page 255
6.1.3 Activating bijection......Page 257
6.2.1 Declaring an injection point......Page 259
6.2.2 The injection process......Page 261
6.2.3 Mixing scopes and serializability......Page 263
6.2.4 Injection variants......Page 264
6.3 @Out-jecting context variables......Page 266
6.3.1 The outjection process......Page 267
6.3.2 Outjection use cases......Page 268
6.3.3 Built-in @DataModel support......Page 270
6.4.1 Internal method calls......Page 279
6.4.2 The mystical method context......Page 280
6.4.3 Reentrant method calls......Page 281
6.4.4 Disabling bijection by disabling interceptors......Page 283
6.5 Component events......Page 284
6.5.1 Raising an event from a component......Page 285
6.5.2 Defining an event @Observer......Page 287
6.5.3 Raising events on page transitions......Page 288
6.5.4 Built-in events......Page 289
6.6.1 Two sides to the interceptor coin......Page 290
6.6.2 Defining a Seam interceptor......Page 292
6.7.1 A context variable @Factory......Page 294
6.7.2 Components that @Unwrap......Page 301
6.8 Summary......Page 305
Seam’s state management......Page 306
The conversation: Seam’s unit of work......Page 308
7.1 Learning to appreciate conversational state......Page 309
7.1.2 The burden of managing state......Page 310
7.2.1 Carving a workspace out of the HTTP session......Page 313
7.3 Establishing conversation boundaries......Page 316
7.3.1 A conversation’s state......Page 317
7.3.2 Beginning a long-running conversation......Page 321
7.3.3 Keeping the conversation going......Page 327
7.3.4 Enlisting objects in a conversation......Page 329
7.3.5 Ending a long-running conversation......Page 333
7.4.1 Abandoning a conversation......Page 335
7.4.2 Creating nested conversations......Page 336
7.5.1 The conversation as a workspace......Page 340
7.5.2 Giving conversations a description......Page 342
7.5.3 Using the built-in conversation switchers......Page 343
7.6 Driving the conversation with a page flow......Page 349
7.6.2 Learning your way around a page flow......Page 350
7.6.3 Advancing the page flow......Page 353
7.6.4 Addressing the back button......Page 355
7.7.1 Open for business......Page 356
7.7.2 Show me what you’ve got......Page 357
7.8 Summary......Page 358
Understanding Java persistence......Page 360
8.1.1 Establishing expectations......Page 361
8.1.2 The four pillars of Java persistence......Page 362
8.2 Entities and relationships......Page 363
8.2.2 Transitive persistence......Page 364
8.2.3 Bringing annotations to the persistence layer......Page 365
8.3 The persistence unit......Page 366
8.3.2 The persistence unit descriptor......Page 367
8.3.3 The persistence manager factory......Page 369
8.4.1 Obtaining a persistence manager......Page 370
8.4.2 The management functions of a persistence manager......Page 371
8.4.3 Persistence context scoping......Page 372
8.5.1 Sorting out the transaction APIs......Page 373
8.5.2 Atomic units of work......Page 374
8.5.3 ACID abridged......Page 375
8.6.1 Introducing the extended persistence context......Page 376
8.6.2 The benefits of an extended persistence context......Page 377
8.7.1 How Hibernate relates to JPA......Page 383
8.7.2 What sets Hibernate and JPA apart......Page 384
8.7.3 Seam’s hybrid approach......Page 385
8.8 Summary......Page 386
Seam-managed persistence and transactions......Page 387
9.1.1 Respecting the persistence manager......Page 388
9.1.2 Managing an extended persistence context......Page 389
9.2 Enhancing the capabilities of the persistence manager......Page 391
9.2.1 Seam’s standard enhancements......Page 392
9.2.2 Letting Hibernate shine through......Page 394
9.3.1 Seam’s persistence manager factories......Page 396
9.3.2 Seam-managed persistence contexts......Page 399
9.3.3 Sharing the persistence manager factory through JNDI......Page 401
9.3.4 Validating the persistence context at startup......Page 403
9.4 Seam’s transaction support......Page 404
9.4.1 Global transactions......Page 405
9.4.2 Seam’s transaction abstraction layer......Page 406
9.4.3 Controlling Seam-managed transactions......Page 408
9.4.4 Application transactions......Page 411
9.5 Summary......Page 414
Rapid Seam development......Page 415
10.1 A framework within a framework......Page 416
10.1.1 Wrapping the persistence API......Page 417
10.1.2 The persistence controllers......Page 418
10.1.3 Two ways to play......Page 420
10.2.1 Remedying the Anemic Domain Model......Page 421
10.2.2 Giving the domain object a Home......Page 422
10.2.3 Putting Home to work......Page 426
10.2.4 Venturing away from home......Page 438
10.2.5 CRUD a la XML......Page 443
10.3.1 Customizing the status messages......Page 445
10.3.2 Creating i18n-compliant messages......Page 447
10.4 Smarter queries with the Query component......Page 448
10.4.1 Creating a result set listing......Page 449
10.4.2 Paging the result set......Page 452
10.4.4 Putting the results in order-......Page 455
10.4.5 Placing restrictions on the result set......Page 457
10.5 Summary......Page 464
Sinking the business requirements......Page 466
Securing Seam applications......Page 468
11.1.1 Giving the user an identity......Page 469
11.1.2 Implementing authentication in three steps......Page 471
11.1.3 A glimpse at Seam’s identity management......Page 478
11.1.4 Even more “Basic” authentication......Page 479
11.2 Securing pages......Page 481
11.2.1 The challenge with JSF security......Page 482
11.2.2 Requiring authentication......Page 483
11.2.3 Serving pages securely......Page 488
11.3 Role-based authorization......Page 490
11.3.1 Expressing restrictions......Page 491
11.3.2 Declaring role-based restrictions......Page 493
11.4.2 Setting up Drools......Page 497
11.4.3 Creating rules with Drools......Page 499
11.4.4 Automatic context detection......Page 504
11.5.2 Adding a CAPTCHA challenge to forms......Page 507
11.6 Summary......Page 508
Ajax and JavaScript remoting......Page 510
12.1.1 Embracing a server-centric application model......Page 511
12.1.2 Ajax4jsf and ICEfaces open a communication channel to JSF......Page 512
12.1.3 Seam’s role in Ajax-based JSF requests......Page 517
12.2.1 Live validation......Page 519
12.2.2 Business-savvy validations......Page 521
12.2.3 Working alongside the user to fill out a form......Page 522
12.3 Ajax Push with ICEfaces......Page 524
12.4.1 Transparent Ajax......Page 526
12.4.2 Giving the browser access to Seam components......Page 528
12.4.3 Making calls to a server-side component......Page 531
12.4.4 Local stubs......Page 535
12.5 Conversational remoting calls......Page 538
12.5.2 Striking up a conversation......Page 539
12.6 Responding to GWT remoting calls......Page 541
12.6.2 Preparing the remoting service......Page 542
12.6.3 Making a GWT service call through Seam remoting......Page 543
12.7 Summary......Page 544
File, rich rendering, and email support......Page 546
13.1.1 Accepting file uploads......Page 547
13.1.2 Rendering images from raw data......Page 550
13.2.1 Laying out a PDF with UI components......Page 552
13.2.2 Working with tables and cells......Page 556
13.2.3 Adding a splash of color......Page 559
13.2.4 Graceful failures and friendly file extensions......Page 560
13.2.5 Serving dynamic documents......Page 561
13.3.1 Chart basics......Page 563
13.3.2 Bar charts......Page 564
13.3.3 Line charts......Page 565
13.3.4 Pie charts......Page 567
13.4.1 Sending your first message......Page 568
13.4.2 Adding an entourage to the message......Page 571
13.4.3 Setting up JavaMail in Seam......Page 575
13.4.4 Publishing newsfeeds......Page 578
13.5.1 Getting Seam to speak the right language......Page 579
13.5.2 Themes......Page 583
13.6 Summary......Page 584
A.1 Stepping through the prerequisites......Page 586
A.1.1 Java 5 compliance......Page 587
A.1.2 Java EE 5 application servers......Page 588
A.1.3 Absent (JavaServer) Faces......Page 590
A.2.1 Seam’s modules......Page 591
A.2.3 Finding seam-gen amid the noise......Page 592
A.3.2 H2 database......Page 593
A.4 Managing libraries in a seam-gen project......Page 594
A.5 Adding Seam as a Maven 2 dependency......Page 595
resources......Page 597
A......Page 600
B......Page 601
C......Page 602
D......Page 605
E......Page 606
F......Page 608
H......Page 609
I......Page 610
J......Page 611
K......Page 613
M......Page 614
O......Page 615
P......Page 616
R......Page 618
S......Page 619
T......Page 622
U......Page 623
X......Page 624