Java Programming Skill Set
Java Enterprise Edition - JEE
javax servlet - Java Server Pages (JSP)
The servlet API provides web communications using (mostly) HTTP for communicating between clients and servers.
Servlets operate within a container which manages lifecycle, mappings, security etc.
Java Server Pages (JSP) are part of the servlet API and work by embedding Java code in html pages which have the .jspx extension.
The pages are compiled to servlets when first run.
The Standard Tag Library (JSTL) provides tags to use in the html pages, which enable the simple addition of sophisticated tasks to the pages, such as conditions, SQL, XML, string manipulation etc
javax faces (JSF)
JSF provides a user interface framework for Java web applications using XML view templates called facelets. JSF 2 provides AJAX support.
websocket communications use the same transport protocol and ports as http, but provide full duplex communication between a client and server.
javax el (EL)
Started off as part of JSTL, allowing access to JavaBeans through JSP, then evolved to EL.
javax ejb (EJB)
EJB is a business logic component on a server. An EJB container manages life cycle, security, transactional integrity, persistence etc.
javax persistence (JPA)
Provides persistence of entities by persisting the state of a Java class in a relational database.
javax transaction (JTA)
Provides management of resources such as relational databases, messaging services so that transactions can be committed, rolled back etc.
javax message service (JMS)
Provides a common method for Java programmes to communicate with eachother.
Spring is a framework providing all aspects of enterprise applications. It has a Model View Controller (MVC)framework, based around a DispatcherServlet, which handles all incoming and outgoing http communications with the application, and has modules that can handle data access and transactions. It allows the use of POJOs and servlet containers instead of using EJB container on a JEE application server.
Struts is an action based frameworkd for developing MVC type applications.
Hibernate is a persistence framework used to persist Java objects to a relational database.
We test JEE and other projects on our cloud server which runs:
The Goldfish and Wildfly servers allow us to test the projects using the JEE technologies.
The Apache server also allows us to test PHP/MySQL projects.
When it is necessary to create .Net web applications, we run an IIS server with SQL server.
Security for the servers is provided by a Letsencrypt free certificate, which offers a CA chain.
The certificate authenticates our server/website combinations, but does not authenticate our own identity, but for our purposes this is more than sufficient and we don't need an Extended Validation certificate.
The latter could easily be added later.
We have considerable experience using the following developer environments:
- Android Studio
- Visual Studio
Most of our projects use a combination of a developer environment to create the webapps, and Adobe Dreamweaver to provide standard html content in a highly manageable format.
We add HTML5 and CSS3 as necessary.