Java Development

Java Applications and Software Products built using Java, have been amongst us for many years now, but every application or product has a variation which isn't apparent to all those who program in Java. This goes to show that Java development is an ocean and not every Java Developer can learn and understand and code on every Java product or application.

Here are some of the variations that Moxie has been involved in:

UI Development for Applications and Products

From simple Java Front-Ends to deeper levels involving a mixture of Java, JavaScript, HTML, and CSS, Moxie has created a whole range of applications with Java. A deeper understanding of JSPs (Java Server Pages), Servlets, Swing, reveals layer of the front-end that is coded with certain nuances can change the appearance and User-Experience and even the type of industry that you are working on. Moxie understands these nuances and has successfully deployed applications in various industries like Healthcare, Finance, Retail, Airline, Education, etc. For each industry the strength of the User-Interface depends on the functionality the UI needs to exhibit, coupled by the ability of the developer to conceptualize the design, functionality and user-perspective. In more advanced and recent work, UI development has gone into the creation of JSF (Java Server Faces) framework which facilitates MVC architecture and Face lets as viewing technology for JSF. In certain applications, our developers used Rich faces to provide Ajax capability to JSF and to provide rich components, while using JavaScript for any pre-action processing. In these examples we get into technologies like JSF 1.2 and Richfaces3.3, which are all still part of Java UI.

Server-Side Programming

Server-Side programming on different types of EJBs is the key to developing robust back-ends for applications.

Our Engineers provide strength in all types of EJBs including:

  • Session, both stateless and stateful
  • Entity
  • Message-Driven
We exploit the advantages of EJBs by the creation of containers to provide various services like:
  • Distribution via proxies
  • Lifecycle Management - Bean initialization, state management, and destruction
  • Naming and Registration
  • Transaction management
  • Security and Access Control
  • Persistence
Another important expansion is in the world of messaging. Some of these expansions have helped our client in various ways:
  • Using Message Driven Beans (MDB) for supporting user subscriptions and notification features
  • Using JMS (Java Message Services) for sending asynchronous data between the different session beans, and for reliable and asynchronous exchange of important information
  • Utilizing JMS with MQSeries Integrator to designed and developed a B2B interface
  • Designed Message Flows using Point-To-Point delivery scheme
  • Implemented Workflow Messaging using JMS over Oracle Advanced Queue. The message payload contained a serialized BLOB, with encapsulated rules implementation
  • Using MQI to its optimum potential; Consuming WebSphere MQ MDB
Beyond EJBs and Messaging we also take into account the differences in Application Servers. In enterprise-applications, no UI can function without strong server-side programming. Java is developed on multiple server environments. Sometimes, even applications within the same organization are developed on multiple server environments. It is important that you have a team of Java Engineers that can work on the multiple platforms. Here are a few that we have particularly worked with:
  • WebSphere
  • WebLogic
  • Apache Tomcat
  • Glassfish
Each of the above has its own versions, like WebSphere has grown from WSAD to RAD, and Apache has many versions that have changed and enhanced over the years. Making sure that we are up-to-date and skilled on all these versions, is what makes Moxie stand-out above our competition.

Other peripherals that are important are the consumption of Web Services like SOAP, RESTful, and XML-based; using JAX-WS for XML-based Web-Services and JAX-RS for creating RESTful Web-Services. Also frameworks like Struts, Spring, Hibernate, etc. are utilized in improving applications as needed.

Also Moxie continues to use Java along with many other platforms like EAI, Mobile Technologies and for Web and Desktop Applications.