This comprehensive course explores a variety of modern Java frameworks and technologies that can be used for developing mission-critical complex enterprise applications. The emphasis is on use of the latest Java EE platform, with its set of underlying specifications, as well as designing and developing server-side application components. Students will learn through hands-on experience in building multi-tier based distributed enterprise applications, comparing and using variety of Java EE design patterns, rich set of server-side components and technologies, and web-enabled by modern design practices and communication protocols. Students will also learn to: Implement a data access tier to a relational database using Java Persistence API (JPA), Java Database Connectivity (JDBC) API, and variety of data access patterns.Implement synchronous and asynchronous server-side business logic using stateless and stateful session EJBs, message-driven beans and EJB Timer service.Integrate server-side logic with the web-tier using legacy server-side and more modern RESTful API approaches that include JSON and other data formats. Other critical Java EE infrastructure services will be discussed, including the Java Naming and Directory Interface (JNDI), the Java Message Service (JMS), the Java Transaction (JTA) API, and Java EE security. Students will review and discuss Spring framework and inversion of control, as well as some alternative solutions for developing and deploying enterprise applications. Using modern development tools, commercial persistence providers, and application servers, students will design and implement several significant programming projects using the above-mentioned technologies and deploy them to a Java EE environment that they will manage.
605.202 Data Structures; 605.681 Principles of Enterprise Web Development or equivalent. Course Note(s): Students will be assumed to already have strong Java skills and to be comfortable with IDEs.
Course instructor(s) :