193 symposiums and 30,000 attendees since 2001

Southern Ohio Software Symposium

August 15 - 17, 2008

Cincinnati Marriott Northeast
Cincinnati Marriott Northeast
9664 Mason-Montgomery Road
Mason, OH 45040
Map »


NOTE: You are viewing details about a past event. View our upcoming event schedule here ».

Pratik Patel

Enterprise Architect

Pratik Patel wrote the first book on 'enterprise Java' in 1996, "Java Database Programming with JDBC." He has also spoken at various conferences such as the Net Database Summit, WWW7 and the Atlanta Java User's Group (AJUG).

Pratik's specialty is in large-scale Java applications for mission-critical use. He has designed and built enterprise applications in the retail, health care, financial services, and telecoms sectors. Pratik holds a master's in Biomedical Engineering from UNC, has worked in places such as New York, London, and Hong Kong, and currently lives in Atlanta, GA.

Blog

Solution: FUTEX_WAIT hangs Java on Linux / Ubuntu in vmware or virtual box

Posted Sunday, January 24, 2010

Ok, I'm documenting this for those that hit this same problem. Is it taking a LONG time to run some Java app, making it seemingly hang? This happens  when running Ubunt more »

Diggin' Clojure and Compojure

Posted Wednesday, January 13, 2010

Over the xmas holidays I started learning Clojure. I'd been putting it off for a long time (since I saw Stuart Halloway present on it 9 months ago) so I read carefully through this lengthy article on Cloju more »

Grails was so electric, it brought down the power grid

Posted Wednesday, November 18, 2009

Last nite's AJUG started off great. Burr, our venerable AJUG leader, started with a discussion on what stuff people wanted to see covered in AJUG more »

Get RAD with Grails @ AJUG Nov 17

Posted Friday, November 13, 2009

I'm pleased to be presenting a session on Grails at the Atlanta Java User's Group (AJUG) next week. See details hereAJUG This is an intro level session, but I'm hoping people ask some advanced questions more »

Gaelyk & Groovy & Google App Engine SCREENCAST online!

Posted Thursday, October 1, 2009

This was taken during the Atlanta Groovy and Grails User group meeting (ATL2G) in August 2009. The audio volume is a little low, I didn't have time to e more »

ATL2G Aug 26: Groovy - Gaelyk - Appengine

Posted Friday, August 21, 2009

 The August ATL2G is right around the corn more »

Groovy March Madness

Posted Wednesday, March 25, 2009

So now that the annual basketball tournament is underway, I thought I'd share my latest tool for becoming master of your tournament pool. Here's a neat little groovy script to extract more »

January 2009 ATL2G (Groovy & Grails Group): EasyB & Easiness

Posted Monday, January 26, 2009

  The ATL2G January meeting is around the corner. We're going to kick off 2009 by jumping into the deep end of the Groovy & Grails pool with a presentation on Easyb and Easiness. Click o more »

Another reason why Git is cool

Posted Friday, January 2, 2009

So I'm working on migrating back to Intellij to do some Groovy/Grails stuff (from Netbeans, but that's another long blog po more »
Read More Blog Entries »

Presentations

Basic JPA & JPAQL

Doing basic Object-to-Relational Mapping is fun and easy with JPA. Annotate your persistent classes, define a couple of configuration parameters, and you're off and running. This session starts with a basic object model and adds persistence using annotati more »

Enterprise JPA 2.0 & Spring 3.0 - Tips and Tricks for JEE5 Persistence

As with many technologies, the basics are easy. The hard part comes when the developer needs to do sophisticated integration, development, and testing as part of an enterprise application. A large enterprise application requires the developer to think of more »

Basic JPA & JPAQL

close

Pratik Patel By Pratik Patel

Doing basic Object-to-Relational Mapping is fun and easy with JPA. Annotate your persistent classes, define a couple of configuration parameters, and you're off and running. This session starts with a basic object model and adds persistence using annotations. Learn how to do mappings for your object model for simple and complex relationships. Also learn how to map Java5 constructs like Enumerations.

Unit testing with JPA can be tricky. Where do you use mock objects? How can I structure my unit tests to exercise my DAO's effectively? How do I unit test JPAQL? Do I need to enhance or can I use a LoadTimeWeaver in my unit tests? This presentation will show, using live code examples, how to effectively unit test JPA components so developers can have confidence in the code they build using JPA.



Now that we have some tests, we'll get into querying for data using JPA. JPA uses JPAQL, or the Java Persistence API Query Language. JPAQL is the object-oriented, rather than standard SQL, way of querying your persisted objects/data. Using many live code examples, developers will gain an understanding of how to write JPAQL. We'll also explore the very useful bulk update & delete feature of JPAQL.


Enterprise JPA 2.0 & Spring 3.0 - Tips and Tricks for JEE5 Persistence

close

Pratik Patel By Pratik Patel

As with many technologies, the basics are easy. The hard part comes when the developer needs to do sophisticated integration, development, and testing as part of an enterprise application. A large enterprise application requires the developer to think of issues that affect the development, scalability and robustness of the application. This presentation will cover the advanced topics described below.

A large enterprise application often will have several sub-projects that each contain their own JPA persistence unit. This opens up a number of questions around how to organize the persistence units and how the code between sub-projects should interoperate. Developers will gain insight into these issues and will see a couple of solutions using live code examples.



Many enterprise applications require integration with an application server's JTA mechanism. JTA integration allows for JPA components to work with container managed transactions and distributed transactions. A typical usage scenario for JPA & JTA is this: read from a database using JPA, perform some business logic, put a message on a queue, write to the database (again using JPA). A JTA transaction allows you to ensure that the entire set of operations is committed or a rollback is performed. In this presentation, the developer will understand the limitations and configuration of using JTA and JPA together ? primarily through real code examples.

Once unit tests are written, developers often gloss over doing fine-grained integration testing just for their persistence layer. Integration testing with JPA means simply one thing: running your JPA components against your target database, for example, Oracle. Overlooking this aspect leads to problems being discovered later in the test cycle (UAT for example) and makes it more difficult to find and fix bugs. This presentation will use live code examples to explain a strategy for getting integration testing for free by reusing unit tests.

Using optimistic locking versus pessimistic locking seems clear cut to most developers. However, a full understanding of the issues with using pessimistic, or datastore, locking is required before making this decision. Developers will get information in the trade offs when using strategy or the other, and how these strategies can be used together with the same persistence unit.

Other tips such as fetch groups, flushing, and caching will be covered as time allows. The presentation will use Weblogic application server, OpenJPA/Kodo, and Spring as the basis for the examples. The presenter has experience with using both Hibernate and OpenJPA so can speak to the portability of these two JPA implementations and its affect on coding.



Books

by Pratik Patel and Karl Moss

Visual Developer Java Database Programming with JDBC, 2nd Edition: The Essentials for Developing Databases for Internet and Intranet Applications Buy from Amazon
Price: $39.99
  • Java Database Programming with JDBC by Pratik Patel and Karl Moss is an updated edition of the authors' guide to the Java Database Connectivity (JDBC) standard for database programming under Java. While the original edition was perhaps geared more to those developers who needed to write their own JDBC database drivers, a fairly arduous task, this new edition provides more background information on database connectivity issues in Java and so will be even more useful to the casual or intermediate programmer. After a general introduction to JDBC and Structured Query Language (SQL), useful even to beginning programmers, the authors start by building a simple database-aware applet. New chapters on "servlets," Java components that run on the server-side and manage database operations, as well as a general discussion of middleware technologies are particularly good. Database access for JavaBean components (from Sun Microsystems JDK 1.1) is also discussed, including working code for two database-aware beans. This book also includes a quick introduction to the Java language (which will only be helpful if you already know C/C++), a detailed reference for the JDBC API, and a working example of a text-based JDBC driver. Though this book is still oriented toward the JDBC driver developer, the authors now provide enough general discussion of JDBC architectural issues to make it worthwhile to any programmer who needs to ramp up on what JDBC is and what capabilities it offers.

by Pratik Patel and Karl Moss

Java Database Programming with JDBC: Discover the Essentials for Developing Databases for Internet and Intranet Applications Buy from Amazon
Price: $39.99
  • Java Database Programming with JDBC by Pratik Patel and Karl Moss is an updated edition of the authors' guide to the Java Database Connectivity (JDBC) standard for database programming under Java. While the original edition was perhaps geared more to those developers who needed to write their own JDBC database drivers, a fairly arduous task, this new edition provides more background information on database connectivity issues in Java and so will be even more useful to the casual or intermediate programmer. After a general introduction to JDBC and Structured Query Language (SQL), useful even to beginning programmers, the authors start by building a simple database-aware applet. New chapters on "servlets," Java components that run on the server-side and manage database operations, as well as a general discussion of middleware technologies are particularly good. Database access for JavaBean components (from Sun Microsystems JDK 1.1) is also discussed, including working code for two database-aware beans. This book also includes a quick introduction to the Java language (which will only be helpful if you already know C/C++), a detailed reference for the JDBC API, and a working example of a text-based JDBC driver. Though this book is still oriented toward the JDBC driver developer, the authors now provide enough general discussion of JDBC architectural issues to make it worthwhile to any programmer who needs to ramp up on what JDBC is and what capabilities it offers.

by Pratik R. Patel, Alan D. Hudson, and Donald A. Ball

Java Programming for the Internet: A Guide to Creating Dynamic, Interactive Internet Applications Buy from Amazon
Price: $49.95
  • Enables readers to master the Java programming language for internet applications while expanding the scope of online development, and the accompanying CD contains powerful sample applets and a copy of Netscape Navigator. Original. (Intermediate).




Event Highlights

Don't miss your chance to attend more than forty education and solutions sessions:

  • In-depth Discussions
  • Peer Exchange
  • Access to Speakers
  • Expert Panel Discussions
  • Hands-on Code Examples
  • Best Practices
  • Birds of a Feather Session
  • Insight on Cutting-Edge Tools

 

Stay Informed


 
Subscribe to our RSS Feed.
RSS Feed