Transactions, security and thanks

Study for Week 11

Congratulations on making it so far!

In this final week, we will look at transactions and security.

Transactions let you write single-threaded code without worrying about concurrency. Using transactions, the application server will coordinate multiple simultaneous requests in a way that avoid data corruption.

I'd like to thank you for your enthusiasm, patience and curiosity. You've learnt a lot and you should be proud of your achievements. Think about how far you've come in just 11 weeks!

At the end of this session, you should be able to:

  • Explain the purpose of a transaction
  • Define each of the characteristics of a transaction (ACID)
  • Understand the difference between commit and rollback.
  • Use programmatic (bean managed) transactions
  • Understand and apply container managed transaction annotations

Transactions

Introduction to transactions and the ACID characteristics:

Java Transaction API (JTA)

The Java Transaction API and using transactions in EJBs:

Weaker isolation

How reduced transaction isolation levels can improve performance:

Security

Some general comments about creating secure web applications:

Thank you

A short word of thanks for being involved in the course:

Please feel free to send any suggestions or feedback. Feel free to stay in touch.

I recommend reading the following.

Transactions:

Chapter 9 of Beginning Java EE 7:
http://find.lib.uts.edu.au/?R=OPAC_b2874770

Security:

The OWASP top-ten:
http://owasptop10.googlecode.com/files/OWASP Top 10 - 2013.pdf

At this point, you should have a good grasp of Java EE. Where you go next is up to you!

Here's a few ideas:

Oracle's Java EE Tutorial

The Java EE Tutorial is quite challenging and much more comprehensive than this course (the PDF is almost 1000 pages). However, now that you've got a good understanding of most of the platform, you may find the tutorial useful for learning about more obscure aspects of Java EE: https://docs.oracle.com/javaee/7/tutorial/index.html

Spring Framework

Spring Web MVC is a popular alternative to JavaServer Faces. At the moment, it has more widespread use. However, Spring and Java EE are becoming increasingly similar to each other.

There are many new features coming into Java EE 8, including a new MVC framework. This will bring Spring and Java EE even closer together.

https://spring.io/

Spring support is built into NetBeans, so you can easily experiment with it. Just create a new "Web Application" (in the "Java Web" category) and at the last step, select Spring Web MVC instead of JavaServer Faces.

Just Start Coding...

To become even more expert at Java EE, my best suggestion is to just start coding. Dream up an application and start programming.

If you're not sure about something, then refer to the tutorials. Also remember that the specifications are often quite readable. If you want the definitive answer, you can always search the specifications:
http://www.oracle.com/technetwork/java/javaee/tech/index.html