Java EE 5 Development using GlassFish Application Server
| |||||||||||||||||||||||||||||
|
| |||||||||||||||||||||||||||||
| Sort customer reviews by: | |||||||||||||||||||||||||||||
|
Show All Reviews on Page
Hide All Reviews on Page
| |||||||||||||||||||||||||||||
| Java EE 5 Development using GlassFish Application Server | |||||||||||||||||||||||||||||
|
This is a guide to developing Java EE 5 applications deployed to the high-performance, Java EE 5-compliant GlassFish application server, which is quickly gaining massive popularity. After GlassFish installation and configuration, it covers application development, including all major Java EE 5 APIs: JSPs, JSTL, Servlets, and JSF for web applications; the Java Persistence API and JDBC to interact with RDBMS; EJB 3, including container-managed transactions and EJB declarative security through annotations; the JMS API for messaging; the JAAS API for secure applications; frameworks built on the Java EE 5 specification, including Seam, Facelets, and Ajax4jsf. It is aimed at Java developers wishing to become proficient with Java EE 5, who are expected to have some experience with Java and J2EE technologies and to have developed and deployed applications in the past, but need no previous knowledge of Java EE, and will teach the reader how to use GlassFish to develop and deploy applications.
|
|||||||||||||||||||||||||||||
| Reader Reviews 1 - 9 of 9 | |||||||||||||||||||||||||||||
| Review Date |
Review Rating(5 High) |
Review Helpful to: |
Customer Review | Reviewer Info |
Permanent Link |
||||||||||||||||||||||||
| Reader Reviews Below Sorted by Newest First | |||||||||||||||||||||||||||||
| 09-28-08 | 5 | 1\1 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
In under 400 pages, the author managed to do a pretty good job at introducing both what's in Java EE 5 and using it on GlassFish.
If you already know EE and GlassFish and want a specific topic covered in details, then you're probably better off picking a book on just that. Again, this book has JSF, JMS, EJBs, security, web services, and so on, but just enough to cover what most people will want and still keep it in a manageable number of pages. Well worth my money - I don't regret buying and reading cover to cover. (Review Data Last Updated: 2008-11-30 06:25:41 EST)
|
|||||||||||||||||||||||||||||
| 06-06-08 | 4 | (NA) |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
I concur with the readers who say this book isn't just an "intro to Glassfish", that it's more of a "summary of the components of the Java EE 5 specification with emphasis on how to configure and use those components specifically with Glassfish". And that was just fine with me, because I was kind of looking for both, and in this book I got both.
We considered Glassfish as a platform of choice for deployment of a revised/updated version of a sample application (for a new edition of a book). We wound up backing off from using Java EE 5 and stuck with J2EE 1.4, for a variety of reasons. In going through this book, though, I discovered it summarizes numerous aspects of Java EE 5 in brief, readable, understandable form. The chapters on JDBC, JSTL, JSF, JMS, and EJB3 were concise summaries that covered the material well and offered solid examples. Each of these topics has had whole books dedicated to them, so it's nice to see a book that wraps itself around these individual topics and conveys the essence of what they're about succinctly. Usually the books that attempt to cover EVERYTHING in something as broad as a J2EE/Java EE spec call themselves "bibles", and indeed that's a good name for them as they attempt to be the canonical be-all and end-all on the subject with enough laborious text and sideline commentary to be considered "biblical". While none of the chapters here is a deep thorough tutorial, each one provides enough information for you to get your head around the topic at hand, leaving with enough understanding to seek out deeper information elsewhere. That's an important thing for a book like this to do, and it's not something to be scoffed at or dismissed. In my day job I'm working with JBoss 4.2 using Java EE 5 features like EJB3 and JMS, and this book provided useful information on those subjects clearly and concisely, and explained more than a few things to me that I hadn't gotten before. The chapter at the end on Facelets, Ajax4Jsf, and Seam provided very brief overviews of those approaches/packages, again just enough to explain aspects I hadn't understood. I may use Glassfish in the future for personal projects, as it looks like it is a robust implementation of the Java EE 5 spec, and this book will definitely be a good guide to development and deployment of Java EE 5 apps for that environment. (Review Data Last Updated: 2008-09-29 05:28:27 EST)
|
|||||||||||||||||||||||||||||
| 05-15-08 | 2 | (NA) |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
I had pretty high hopes for this book but I'm pretty bummed out. It seems well written and I'm sure it is good for some people but just about everything in this book is available for free elsewhere. I wanted a book about GlassFish and really specific stuff like configuring a domain *in detail* and not a recap on how to run the basic commands. JNDI in GlassFish - I don't think it's covered. Writing applications with the Java Web Start and the nice appclient utility - not covered. Sure, most of that is mentioned (as in...the words are used) but basically this book is for people who want to learn how to write the simplest servlet, ejb, and web service and with the exception of the security chapter, pretty much none of it is really specific to glassfish. Oh well. I'll probably refer to this book on occasion when something isn't working and I want to check my sanity but for the most part this will sit under my much better books on EJB and JEE in general.
(Review Data Last Updated: 2008-06-06 05:58:36 EST)
|
|||||||||||||||||||||||||||||
| 03-18-08 | 4 | 4\5 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
I do have to agree with others who remarked that the book is not a comprehensive discussion of GlassFish. In this respect, it is somewhat of a downer. But, perhaps albeit inadvertantly, its best merit is elsewhere.
Over the years, the Java world has grown hugely from just the Java language. Roughly, the latter is more or less J2SE. But in the J2EE field, or what Sun seems to just be calling EE, many extra layers of code and packages have been added. Entire books have been written on each of the topics of servlets, Java Server Pages, Enterprise Java Beans, Java Server Faces, Java Messaging Service, JDBC, Web Services and Ajax. Where do you start, if you don't know any of these? One answer is right here. This book. Heffelfinger gives a concise overview of each topic. Enough technical details that a programmer can understand and appreciate. More to the point, you can see how these tie into each other. Frankly, you'll still need those other books, to do serious coding in a given topic, or between topics. But the understanding and top level view here is valuable. (Review Data Last Updated: 2008-05-16 04:49:46 EST)
|
|||||||||||||||||||||||||||||
| 02-10-08 | 3 | 1\1 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
My overall opinion of the book is good. The book is very well written, and the code examples in the book work. Working code examples are the number one criteria for me. The code examples start with some examples in Chapter 2 that are used throughout the remainder of the book. This provides a coherent flow through the book. You may also download the code examples from the Packt Publishing support site.
I would recommend it as a book to have on your development bookshelf. The book claims to be the complete guide to installing and configuring GlassFish. I would not give it that much credit. There is room for more extensive books on GlassFish. There are a number of topics that are very general and have nothing to do with the actual configuration of the server. A better book summary would be a guide to installing, configuring, and developing applications for the Glassfish server. It is really a Java EE 5 tutorial which features Glassfish. As a book on GlassFish, it is very light in its coverage. As a tutorial for developers acquainting themselves with Java EE 5 and deployment on Glassfish it is very good. In my opinion it is targeted at developers familiar with J2EE who want to switch to JEE5, or junior developers trying to get a better comprehension of the EE environment. It is not for novice programmers. Chapter 1 Getting Started with GlassFish This chapter covers getting and installing GlassFish. It is very basic, but will get you up and running. It also includes how to set up your JNDI database connections. The majority of this information can be readily found on the GlassFish site on Java.net. There is a good example of how to set up multiple domains on GlassFish which is not easily gleaned from the site. There is a chart which shows how the --portbase command line option is used to set the ports on which GlassFish services connections. This provides the best explanation for this command line option and graphically depicts what the results are. Chapter 2 Servlet Development and Deployment This chapter is a very basic tutorial on servlet technology. It includes writing a simple servlets, web.xml files, and deployment file layout (war files). It includes some examples on html forms, request forwarding and response re-direction. There is nothing GlassFish specific and the files will just as easily deploy on Apache Tomcat unaltered. There is one item of note which is sun-web.xml related which has to do with how to change the context root. This is used if you do not want the default deployment context to match the name of the war file. Chapter 3 JavaServer Pages This chapter again has a basic tutorial on JSP technologies. There is a really good example of creating custom JSP tags and how to use them. Again, there is nothing that would prevent the war files from being deployed on Apache Tomcat. I wish that the author would have covered Unified Expression Language (EL) in more detail. It is more central to this technology on JEE5 platforms. Chapter 4 Database Connectivity This is the first chapter which covers a really important topic in the enhanced JEE5 database access functionality, new Java Persistence API (JPA), and its reference application server (GlassFish). The first example shows a servlet and how to connect to a database using the old form of JNDI lookup without resource injection. The next example shows the simplified version using resource injection of the DataSource. This removes all the plumbing of fetching our data source. The next section covers Java Persistence API (JPA) and provides an in-depth tutorial. This is a key concept in JEE5. It introduces the Entity annotation on a POJO to convert it to a persistable object. The simple example that follows it demonstrates correctly how to to use JPA in a non-thread safe environment of a servlet using a UserTransaction. It also covers the persistence.xml file. This chapter is a must for anyone who wants to learn JPA. The sections on entity relationships, and composite primary keys are done extremely well. This chapter concludes on Java Persistence Query Language (JPQL) which is the follow-on from EJB QL.It is very light. I wish the author would have covered this very important topic in more detail. That being stated, the code sample is a perfect example. The book is worth purchasing for this chapter alone. Chapter 5 JSP Standard Tag Library This chapter is a basic tutorial on the JSTL. I found a number of syntax mistakes, which were submitted back to Packt. The SQL JST Tag Library is covered. It was very simple. There is one note on No Suitable Driver SQL Exception which is often a hard thing to track down.There is nothing substantive about this chapter. Chapter 6 JavaServer Faces This is another JEE5 technology that needs more coverage in general. This chapter provides a good foundation on the reference JSF implementation. It is very well written. I am a big advocate of JSF and thoroughly examined this chapter. The introductory examples are well done and give a good overview of the technology. The example Customer bean is the same bean that is used in JPA in chapter 4. This shows the consistency and flow between chapters. In this case we use the bean as a managed bean in the JSF context. The chapter also explains the changes needed in the web.xml file for JSF. The section on validators is very well done. It includes an example using the Apache Commons Validator framework. The point is to show that you should look for good validators rather than creating your own. Roll your own for domain specific requirements. It also covers validator methods in some detail. It also covers another useful utility from the Apache Commons Language Library. There is a section on customizing messages that provide feedback to the user on various validation errors. It contains a section on how to modify the default messages on GlassFish. It is nice to know how to do this, but I would encourage users NOT to do it. You can Google for the default messages to see what they mean. If you change them, that option no longer exists. Also it is not intuitively obvious where the message is coming from. There is another example using a message bundle for your customized messages. I would HIGHLY recommend using this method. There is a wonderful section on integrating JPA and JSF. This is a must read, and covers the practical side of JSF and JPA. It uses a model-view-controller paradigm. It shows how to use the JPA as a managed bean that gets set from the JSF page and saved/modified from the controller servlet. This is an excellent example of how to do it. Finally, the chapter closes with a reference to the JSF Core components. I personally believe that this should have been an appendix. It really does not contribute to the flow of the book, or chapter. I went through the reference with a fine-toothed comb. The examples are really clean. I submitted some errata for the section, but it was done very well. This is another chapter that makes the book worth purchasing. Chapter 7 Java Messaging Service This is a chapter that has a very specific setup for GlassFish. Most of the previous chapters were general enough on the specific technologies that they could be used on Apache Tomcat. The JMS server setup which is covered for GlassFish is very specific to the server. The first part of the chapter covers how to set up the JMS connection factory, and JMS destination resources (Queue and Topic). The examples that follow are very well done on how to use the various topics and queues. I was really impressed with the authors examples. They were clean. I questioned one of the examples on durable topics, only to discover that the author was correct. Chapter 8 Security This chapter seems out of sequence. The Enterprise Java Beans (EJB) and Web Services chapters follow it. I would have recommended it to follow those two chapters. The author does cover securing EJBs and web services which require a security pre-cursor, but it seems to disrupt the flow of the book. This chapter was a big disappointment. The topic is covered in minimal detail. This chapter is so important that it needs more coverage. Here are some of the major omissions: * Setting up a SSL/TLS connection using a self-signed certificate, or CA certificate * Setting up an LDAP realm * Optional attributes for the various realms There is coverage of the various realms with a focus on file and JDBC. The JDBC realm is complex. I understand that setting up a JDBC realm requires more work, but I am not sure how many people would use this type of realm. The file realm coverage is detailed, but I am not sure that any enterprise would use this arrangement. It is not scalable. The example login form using j_security_check is very useful, as well as, the example LogoutServlet. The certificate realm is covered in fine detail. It is one of the best examples of how to configure this setup. The LDAP and Solaris realms are weak. There is nothing here but a placeholder explanation. I can imagine that most enterprise users will have an LDAP domain that they will connect to. This topic could have included an example using OpenLDAP with its configuration in an appendix, or using openDS (http://opends.dev.java.net). The JDBC realm setup has a number of serious errors which were reported as errata. The section on defining custom realms is ok. It glosses a topic which requires more detail. I would HIGHLY recommend using a pre-defined realm instead of defining your own. Chapter 9 Enterprise JavaBeans This chapter provides a good tutorial on the JEE5 EJB 3.0 technologies. It covers the use of the new @Stateless, @Stateful, and @MessageDriven bean annotations. There is an excellent example of using a stateless session bean as the DAO controller for JPA. It is well done. This is followed by another excellent example of how to use DAO EJB in a web application using resource injection. Transactions are covered in very good detail. There is an excellent table which explains the various types of container managed transactions, and the @TransactionAttribute annotation. The real jewel of this chapter, in my opinion, is the section on Bean-Managed Transactions which includes an excellent example with all of the correct annotations. There is a section on the new EJB Timer service. I wish they would have included a practical example, but the included example gives you a feel on how it works. EJB Security is covered lightly. There is a great note about automatically matching Roles to Security Groups on GlassFish. It is a very well hidden feature, and one which I was not aware of. This simplifies some of the security mapping and is a great time saver. This is another good chapter. Chapter 10 Web Services This chapter provides a good tutorial on Java API for XML for Web Services (JAX-WS). It has some simple examples, and demonstrates the great GlassFish web service testing facility built into the platform. The tester is a web based page which allows you to enter values and see the results, as well as, the SOAP messages (Request and Response). This is a real time saver and can help a developer check the expected messages quickly. The chapter includes a section on how to include attachments and expose EJBs as web services. The chapter concludes on a light coverage of web service security. Chapter 11 Beyond Java EE This chapter covers some alternative and complementary technologies for JSF like Facelets, Facelets Templating, Ajax4jsf (providing AJAX functionality to JSF applications), and Seam. The chapter includes some sample applications and how to install and set up these technologies. Appendices The appendices include coverage of using JavaMail and integrating GlassFish into various IDEs. Again, I would recommend this book for anyone who wants to learn the basics of JEE5 programming with GlassFish. (Review Data Last Updated: 2008-03-18 12:37:02 EST)
|
|||||||||||||||||||||||||||||
| 12-14-07 | 3 | (NA) |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
Full Disclosure: PACKT Publishing provided me a free copy of the book to review.
Overall Reviewer Rating: B+ From the back cover: "Who this book is written for This book is aimed at Java developers wishing to become proficient with Java EE 5, who are expected to have some experience with Java and to have developed and deployed applications in the past, but need no previous knowledge of Java EE or J2EE. It teaches the reader how to use Glassfish to develop and deploy applications." Given that description of the book's goal and scope, I would say that it is a "mission accomplished". I came across Glassfish V2 this year while doing research for a client SOA project. After downloading it ([...]) and spending a few days exploring its robust features, I decided to continue evaluating it for selection as a possible core component for the team's ESB and SOA efforts. While juggling a number of other priorities, I contacted the publisher and offered to review their book. Chapter Outline 1: Getting Started with Glassfish Reviewer Comments: Clear and concise. What I would add in the next edition: Coverage of more in-depth discussion of configuration parameters - and performance / tuning parameters. 2: Servlet Development and Deployment Reviewer Comments: Good basic introduction to the topic of Servlet Development - without burdening the reader with the additional complexity of learning application frameworks. 3: JavaServer Pages Reviewer Comments: Good basic coverage of JSP topics. 4: Database Connectivity Reviewer Comments: Covers JDBC and JPA. A decent survey of Entity Relationships (One-to-One, One-To-Many, and Many-to-Many). Covers Composite Primary Keys. The author, to his credit, notes that Database access code should be encapsulated in Data Access Objects (DAOs) - and provides suggested links for further reading. 5: JSP Standard Tag Library Reviewer Comments: Discusses the Core JSTL tag library as well as Formatting JSTL, SQL JSTL, XML JSTL, and JSTL functions. 6: JavaServer Faces Reviewer Comments: Basic coverage of JSF and JPA. 7: Java Messaging Service Reviewer Comments: covers setting up Glassfish for JSM, working with message queues and topics. 8: Security Reviewer Comments: Discusses various types of realms (Admin, File, Certificate, JDBC, Custom) - and how to utilize Glassfish's built-in security features. 9: Enterprise JavaBeans Reviewer Comments: Sub-topics covered include Session Beans, Message-driven beans, Transactions in Enterprise Java Beans, Enterprise JavaBean Life Cycles, EJB timer service, and EJB security. 10: Web Services Reviewer Comments: Sub-topics covered include developing web services with JAX-WS API, Developing web service clients with JAX-WS, adding attachments to web service calls, exposing EJBs as web services, and securing web services. 11: Beyond Java EE Reviewer Comments: Sub-topics covered include Facelets, Ajax4jsf, Seam. Appendix A: Sending Email from Java EE Applications Appendix B: IDE Integration As a bibliophile, I have a few pedestrian observations of the mechanics of the book's production: 1) The book appears to use a bit larger font than I usually see in technical books by other publishers - a positive - as I don't have to squint to read the text. The quality of the paper appears to be good. The binding appears to be fair-to-good. 2) The book makes extensive use of ample screen shots to capture the specifics of step-by-step instructions when covering the installation and configuration topics in chapter-1. Screen shots of the Glassfish administration screens are also provided in latter parts of the books where appropriate. 3) Coding examples are also liberally provided throughout the chapters (Example Code for the book is available at http://www.packtpub.com/support). 4) "Notes" and "Tips and Tricks" are appropriately identified throughout the book using two icon designations. Some things that would have made this a better book: - Some commentary from the author on how Glassfish does some things better/worse than other application servers. - A "Further Reading" section at the end of each chapter with recommended books or web links - A Chapter on Debugging Applications within Glassfish - A Chapter on Tuning Glassfish If you are looking for an introductory survey of Java EE development topics, then this book is a good choice. It is not intended as a definitive reference for Java EE - so don't judge it against that kind of yardstick. The author does not assume that the reader is an advanced Java developer - but does expect that you have some familiarity with the language. (Review Data Last Updated: 2008-02-11 09:03:16 EST)
|
|||||||||||||||||||||||||||||
| 12-13-07 | 4 | 4\4 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
To get right to the issue, if you are new to Glassfish and Java EE than this book is for you. It does a great job of covering all the major topics of the J2EE Server, JPA, EJB 3.0, JMS, WebServices, and Security.
I was not too happy to see the Glassfish apptool used throughout the book, since that is not a part of the J2EE Standard toolset. Also the discussions of jsp, and the JavaServer Pages Standard Tag Library is overkill, and not used as much in preference for Java Server Faces, and AJAX related technology. Where the book lacks is in detail hints, and configuration setup. Such as Glassfish Clustering, JMS Queue Management, Management, Monitoring, Logging or connecting to Load Balancers or Web Servers. It is also hard to write a book on Glassfish without including Netbeans, which works so well with Glassfish services. I think the upcomming Netbeans 6.0 Book, should also be required to close the development circle to being productive with this tool set. The Pair of tools Netbeans 6.0 and Glassfish, is as powerful of a combination I have found. The best of the Opensource free development tools, because of the close tie to the Java Enterprise Edition Standard. I think the Author and reviewers did a great job in presenting the information. It just seams like another book for detailed Glassfish Implementations should be created. The Sun Manuals are dry even by my Sun Certified Web/Bus/Service standards. They were not meant the explain why you need to set the options or why should you care about it, whereas books like this gives you a reason to care. We as a community are taking this App server mainstream and better documentation and books there are out there, is the key to the promotion of such a great product that everyone has spent time making. Go Glassfish, it's a great product. Glassfish is my favorite to develop, and second on my list for production environments, basically because of documentation (And Cluster) issues. (Review Data Last Updated: 2008-02-11 09:03:16 EST)
|
|||||||||||||||||||||||||||||
| 12-11-07 | 5 | 1\2 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
The book assumes that the reader has experience of Java but no previous knowledge of Java EE or J2EE. As such, this is a great book for developers who are new to this arena.
The book starts with an overview of what GlassFish is, what its competitors are and why we should use GlassFish. The introduction continues to provide details of how to download, install and verify GlassFish and finishes by exploring some of the management tasks associated with GlassFish such as managing domains, creating connection pools and configuring datasources. Several sections of the book cover web development, including chapters on Servlets, JSPs, the JSP standard tag library and JSF. These chapters take the reader from initial concepts "What is a servlet?" and gradually build up on their knowledge by describing how to build JSF applications. Database connectivity is covered in the book, however this assumes that the reader has some experience of SQL. The book starts by covering JDBC and how this can be used from within Java EE applications, and continues to discuss the Java Persistence API (JPA). This includes details on how to configure entity relationships with JPA, such as one-to-one and many-to-many relationships. After details and examples on how to use JPA, the reader is shown how to integrate JSF and JPA. Moving away from web development, the book describes the Java Message Service (JMS) and how queues and topics can be defined within GlassFish and then accessed via Java code. This is taken further in the section on enterprise beans where the book discusses Message Driven Beans and how they interact with the application server. This section on enterprise beans also includes details about session beans and discusses life cycles, transactions and security. Security is discussed in detail and explanations are provided regarding what security realms are within GlassFish and how they can be configured. Details are included about the file, certificate, LDAP, Solaris, JDBC and custom realms. The final aspect of Java EE discussed within the book is web services. This chapter discusses how to create, deploy and test JAX-WS web services and includes details on sending attachments from web service methods and securing web services. The final chapter of the book takes the reader beyond the Java EE standard and describes additional 3rd party technologies, namely Facelets, Ajax4jsf and Seam and describes how applications developed with these technologies can be deployed to GlassFish. This is a highly recommended book for developers who are new to Java EE 5 development and the GlassFish Application Server. (Review Data Last Updated: 2007-12-14 18:45:24 EST)
|
|||||||||||||||||||||||||||||
| 12-10-07 | 2 | (NA) |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
I'm a sw developer using EJB3.0 and this App Server and I though it would give me some tricks to tune and have a better instance running but I'm truly disappointed I have to say I'm not a master but this didn't help.
If you're an absolute beginner it could help but if you're not you better think of starting App Server and click on HELP. (Review Data Last Updated: 2007-12-14 18:45:24 EST)
|
|||||||||||||||||||||||||||||
| Reader Reviews 1 - 9 of 9 | |||||||||||||||||||||||||||||
| All Books | Arts | Biography | Click Here For An A-Z Index Of All 213 Best-Seller Subjects | Business | Children's | Comics | ||||||
| Computers | Cooking | Engineering | Entertainment | Health | History | Home | Horror | Humor | Law | Fiction | Medicine | Mystery |
| Nonfiction | Outdoors | Parenting | Professional | Reference | Religion | Romance | Science | Sci-Fi | Sports | Teens | Travel | |