The aim of the course is to gain knowledge about the software development processes and principles, with particular emphasis on the development of server-side, datacenter, and cloud applications, ie. applications that are used in large enterprise information systems or large web applications (eg. Facebook, LinkedIn, online stores such as Amazon, eBay and similar). Those applications that run on large server systems and must be capable of servicing a multitude of concurrent users. They also need to work quickly and reliably.
We will learn the basics of microservices on one side and application servers, such as JBoss WildFly, IBM WebSphere, Oracle WebLogic, GlassFish, and others.
We will get to know JAX-RS, CDI, JAX-P and JAX-B, JPA, JDBC, EJB, JMS, JAX-WS, JTS and advanced AMQP, MQTT and other messaging systems. We will also get acquainted with event streaming and reactive concepts.
We will get to know JAX-RS, CDI, JAX-P and JAX-B, JPA, JDBC, EJB, JMS, JAX-WS, JTS and advanced AMQP, MQTT and other messaging systems. We will also get familiar with event streaming and reactive concepts.
We will also get familiar with web services REST and SOAP, JSON, OpenAPI, Swagger, WSDL, XSD, etc. For the development of client web pages applications will get familiar with HTML5 / JavaScript and Angular.
We will also learn how to develop cloud-ready application using microservices, containers and scalability. We will get familiar with Docker and Kubernetes.
Students will also get familiar with Continuous Integration and Deployment, and learn how to use code repositories (Git), build tools (Maven), build servers (Jenkins) and artifact repository (Nexus).
The course is practically oriented with exercises. Students develop an application using an application server of their choice. Students will be prepared for challenging development projects and their management.
The course will provide enough knowledge for students obtain certificates for Java EE developers.