Apache Groovy is a dynamic, object-oriented programming language for the Java platform that contains features similar to those of Python, Ruby, Smalltalk, and Perl. Groovy can work as a scripting language for Java and is dynamically compiled to Java virtual machine (JVM) bytecode. It also interoperates with other Java code and libraries. Groovy utilizes a curly-bracket syntax which is similar to that of Java. The semantics may differ but overall, most Java code is syntatically valid Groovy.
Grails is an open-source java web technologies framework which uses Apache Groovy as its programming language. As such, it is essentially based on the Java platform. Grails aims to be a high-productivity framework which follows the "coding by convention" paradigm. As a result, Grails is a stand-alone development environment which hides a lot of the configuration detail from developers.
JSF is a Java specification used to build component-based interfaces for web application users. JSF is actually an MVC web framework that was formalized as a standard via the Java Community Process and uses reusable user interface components in a page, making it easy to construct user interfaces for server-based applications.
Spring is a modern app framework and inversion of control container that is used for latest scalable applications and works on the Java platform. It has main features for all Java applications and extensions which can help to build web applications and web services on Java EE. This open-source framework has become popular as an addition to the Enterprise JavaBeans model, or even as a replacement in some cases, as it doesn't impose any specific programming model.
jBPM is an excellent Java based solution to automate complex business processes. The jBPM provides across the board visibility and transparency and all the business processes and the progress on their instances, can be viewed by the relevant stakeholders simultaneously. So if you need to automate a task.
Asterisk is a software implementation of traditional PBX – Private branch Exchange- of telephone, used worldwide. Java is used to develop a whole VOIP (voice over internet protocol) and SIP (session initiation protocol) applications over Asterisk where configurations such as dial plan are controller by it. For example, for an organization, java and asterisk can be used to implement internal communication mechanism and provide support for voice and video calls, one-on-one and conference- by SIP phones.
XSL comprises a variety of related languages which can be used to transform and render XML documents.
Ajax is a set of web development techniques which use various technologies on the client side to form asynchronous web apps. They allow web applications to send and retrieve data from servers asynchronously without interfering with the behavior of the page they're working behind.
JavaBeans work as classes that combine many objects into just one - the bean - for computing based on the Java platform. These "beans" are part of a standard aimed at creating reusable software components for Java. The beans support the mapping of database with java classes which improves code usability. They are serializable, have a zero-argument constructor, and also give access to properties through getter and setter methods.
Java servlets are Java programs that extend a server's capabilities. They are commonly used to implement apps hosted on web servers but they can respond to any kind of request. These web servlets can be the Java counterpart to dynamic content technologies like PHP and ASP.NET.
JSP allows for the development of dynamically generated web pages based on HTML, XML, and other document types. JSP is relatively similar to PHP and ASP but it uses the Java programming language. It is especially useful for small java applications which require rapid development in a short span of time.
Apache Velocity works as a template language to reference objects defined in Java code. This template engine lets you keep the presentation and business tiers of a web application cleanly separated via the model-view-controller pattern.
CSS is a style sheet language that can describe the presentation of a document written in a markup language. It is used to create beautiful user interfaces/webpages, and with the latest CSS versions, UI elements’ transitions too. It can be applied to any XML document (think plain XML, SVG, and XUL), although it is usually utilized to set the visual style of web pages and user interfaces in HTML AND XHTML. CSS can be used for rendering in speech and on other media.
EJB works as a server-side software component to cover the business logic of an application. It is just one of several Java APIs that can be used for the modular construction of business software. EJB web containers work as runtime environments for web-related software components such as computer security and transaction processing. As a specification, EJB is a subset of Java EE.
Reasonable Server Faces
It is a Java-based open-source web framework which is built upon and enhances the Spring Framework to add support for adding gorgeous XHTML view files. It is recommended due to being a lightweight component model and is beneficial in constrained availability of resources settings.
JS is one of the three main technologies that make up web content production, alongside HTML and CSS. It is a dynamic, weakly typed, multi-paradigm programming language that is prototype-based and can make webpages interactive. It can also be used to provide online programs like video games.
Struts works as an open-source web application framework that is used to develop Java EE web apps. By using and extending the Java servlet API, Struts makes it more attractive for developers to use model-view-controller designs.
XML is a markup language that puts in place a set of rules for encoding documents in a way that makes them readable by both humans and machines.
Jersey RESTful Services
Java Jersey Restful Service is an architectural style which is based on web-standards and
HTTP protocol which allows sharing of data between multiple applications, developed and running on same or different platform.