Projects related to large-scale web development with Java technology are welcome to participate in this track. The application domains may be in one of the following areas:
Can your project be scaled to serve millions of users?
Cheaper and better technology is creating a more connected world: 8 billion devices are now connected to the internet; by 2030, that number is forecast to grow to 1 trillion. In the era of connected world and digital economy, many large-scale enterprise web applications are being built to handle high volumes of data and traffic and can adapt to drastic load changes without affecting the quality of operations. It is expected to handle a thousand transactions per second or millions of users/requests as effectively as a hundred.
A typical large-scale web application follows a core 3-tier architecture (note that some tiers can be further subdivided for more complex architectures). The client tier runs in the user’s browser, and logic and data tier runs on separate dedicated servers. It is commonly deployed in enterprise applications in telcos, financial banking services and insurance industry. For example, Internet banking, e-wallet, high-traffic enterprise web application and ecommerce web portal.
Sample topics:
Benefit of joining:
Design & Implementation:
Typical large scale web application should consist of 3 components, i.e., front end, back end and database. Typical languages/frameworks/technologies used:
Front End | HTML, CSS, Javascript, JQuery, Angular |
Back End | Java, Java Spring |
Database | Mysql, non-open source database: Oracle , IBM DB2, MS SQL Server |
Java is the one of the most popular technologies chosen to build large scale web applications due to several reasons:
Java Platform, Standard Edition (Java SE) lets you develop and deploy Java applications on desktops and servers. Java offers the rich user interface, performance, versatility, portability, and security that today's applications require.
The Core Java technologies and application programming interfaces (APIs) are the foundation of the Java Platform, Standard Edition (Java SE). They are used in all classes of Java programming, from desktop applications to Java EE applications.
Java Spring is an application framework and inversion of control container for the Java platform. The framework's core features can be used by any Java application, but there are extensions for building web applications on top of the Java EE platform.
Spring is currently the most popular framework for developing Java-based enterprise applications. It was initially developed as an open source alternative to the complexity of early J2EE specification and has now found wide adoption in the industry in many diverse areas. It is a light-weight framework that is designed to integrate and support key specifications from the J2EE world such as Servlets, WebSockets, Concurrency, JPA and so on. At its core, Spring provides several modules that support key features such Inversion of Control, Dependency Injection, Transaction Management, JDBC, ORM, Servlet-based Spring MVC and so on. Spring’s design philosophy emphasizes flexibility, the ability to accommodate diverse design perspectives as well as careful attention to ensure backward compatibility as much as possible.
A large variety of projects have evolved around the Spring framework over time; some of the more popular and widely used ones include Spring Boot, Spring Security, Spring Data and Spring Cloud. These projects speed up the process of constructing an enterprise application with Spring, and allow them to be deployed to dev-ops centric and cloud-based environments. With such a large ecosystem of projects and a thriving developer community, Spring looks set to continue to dominate Java enterprise application development for the foreseeable future.
More details about the Spring Framework can be found here.