To date the Spring Framework is used by more than 3 million developers to build half of all Java applications running today. Therefore the Spring Framework is the most widely used application framework for developing Java-based enterprise applications and with its many features it's simply an enhancement of the Java platform. Our experience shows that every enterprise scale Java project can benefit from skilled Spring developers.
Software development projects with the Spring framework provide better productivity, flexibility, modularization, testability and portability compared to pure Java projects. UWS provides consulting and support with long-standing Spring expertise for both, new projects and existing Java projects. Our services range from pure software development to management and training duties.
The Spring Framework provides a comprehensive and flexible set of technologies to improve and simplify the development of Java-based software projects. Spring allows developers to concentrate on the actual business logic -it is Spring that provides the complete necessary infrastructure in the background. The following advantages result from the use of Spring in Java projects:
Spring MVC is one of the leading technologies to develop modern web applications. Spring MVC uses the "Model-View-Controller" design pattern to achieve a clean separation between presentation and interaction logic. Spring MVC web applications scalable, testable, and based on best practices by means of "convention over configuration" set up. Use Cases such as security, session management, form processing, validation and layout management are usually depict even just by configuration.
Spring MVC is also the basis for Spring Web Flow. Spring Web Flow provides flexible options such as a pre-defined flow for example at a checkout process on the Internet. Spring also provides support for standards like REST, HTML5, AJAX and Conversations.
Spring allows a declarative approach to treat cross-sectional functionalities such as transaction handling and caching. Moreover, there are many code templates according to the template method pattern to reduce interactions with database APIs considerably. Developers can better concentrate on the actual tasks without writing infrastructure code for the catching of exceptions, connection or concurrency.
As mentioned in the beginning Spring is a uniform and declarative API for decoupling caching from the persistence technology. For example by a Java annotation it's thus possible to provide caching for a service method, without the method providing any logic. For the actual caching different providers such as ehcache or custom cache implementations can be provided.
UWS has delivered this Caching API for Spring 2 Applications in a recent project.
Spring provides comprehensive support for the integration requirements of today's software systems - without ignoring the principle of "separations of concerns" (SoC).
Spring integration is ideally suited for asynchronous, message-driven applications. Spring Batch provides the functionality required to reliably reading and writing large amounts of data and Spring Web Services enables the development and integration with SOAP-based "contract-first" web services.
As mentioned above, Spring MVC provides rich support for "representational state transfer" (REST), which is ideal as a communication layer between a mobile client and the backend on the server side.
All mobile clients - J2ME, Windows Mobile 7, Blackberry, Android or iOS support this method of communication ("RESTful communication"). Platforms with HTML 5 can use REST services directly via HTML5 and Ajax.
Spring is extremely portable and runs on a variety of environments - even in the cloud. Spring can be reliably and consistently deployed at all providers of "platform-as-a-service" (PaaS) environments, for example at Cloud Foundry, Amazon Web Services (AWS), Beanstalk, Amazon EC2 and Google's App Engine. A typical Spring application does not require any adjustments to be deployed on Cloud Foundry and can use services such as PostgreSQL, MySQL, MongoDB, RabbitMQ or Redis. Additionally Spring is the core development framework within the vFabric Cloud Application Platform.
Spring Security provides functions for the authorization of all system layers (tiers) and is ready to integrate authentication with dozens of vendors. Spring Security can be easily combined with other technologies like Spring Spring MVC, Spring Integration and Spring Web Services. Use cases such as an audit of internal system messages, the lockout of unauthorized access to Web applications, or the prevention of unauthorized calling of service methods can be implemented with Spring Security.
UWS Support Services has been able to carry out many projects with the Spring framework and offers project support in a variety of delivery models.
Our senior Spring professionals also take over managerial responsibilities in terms of architecture and design or conduct spring training or coaching within a project environment. Some examples of successful projects can be found within in our references. Which project should we start together with you?