What is the difference between Amazon EC2 instance and Amazon S3?

This post we are going to learn about the difference between Amazon EC2 instance and Amazon S3.

EC2 Instance:

Amazon EC2 (Amazon Elastic Compute Cloud), EC2 instance is like remote desktop running on Linux/Window or any other operating system. Also, we can install any software as we required, including the databases.

The EC2 instance system will be up all the time, EC2 instance required username password to access it. Using EC2 you can execute/run your programs (Remote machine).

Amazon S3:

Amazon S3 (Amazon Simple Storage Service), Amazon S3 has been just a storage service to store and retrieve any volume of data. S3 data are stored in the cloud we can store huge amount of data (Giant hard drive/Remote hard disk).

AngularJS

This post we are going to learn about AngularJS advantages and disadvantages.

AngularJS open source JavaScript web application framework maintained by Google. AngularJS that providing for client side model-view-controller (MVC) architecture, also capability to create Single Page Application (SPA) along with components commonly used for Rich Internet Application (RIA).

Advantages:

  • Client side MVC framework
  • Codes are fully testable
  • Two way data binding
  • It supports dependency injection
  • AngularJS use of custom directives
  • It will provide the capability to create Single Page Application (SPA)
  • AngularJS Reusable components
  • Cross browser support
  • It supports REST API
  • Client side templating
  • Filters
  • Deep linking
  • The AngularJS applications will run efficiently on all the devices like computers, mobiles and tablets including Android, iOS and Windows phones and tablets

Disadvantages:

  • AngularJS are not safe, server side authentication should be done very carefully
  • AngularJS application are not down gradable, one JavaScript is disabled, and whole application may get affected.
  • AngularJS will support modern browser and it will not support older version.
  • The client must enable JavaScript in the browser.

AWS Lambda

AWS Lambda

This post we are going to learn about AWS Lambda advantages and disadvantages.

AWS Lambda is server-less computing, where the code will run without managing servers. Lambda is an event driven computing Architecture/Platform, or FaaS (Functions as a Service).

Advantages:

  • Easy to manage and operate.
  • Faster development.
  • Less operational cost, basic advantages of server less architecture.
  • 100 concurrent executions also it can be increased (Unlimited functions).

Disadvantages:

  • Third party vendor system, no control over the environment/system, in case of any outage system will be affected.
  • Server less architecture bit tough.
  • Lambda error handling and debugging is not that good also logging part do not have standard logging frameworks like Log4J (Java have), AWS Lambda allows only CloudWatch.

Spring Boot

This post we are going to learn about Spring Boot advantages and disadvantages.

Spring Boot uses Spring MVC framework and it is auto configured and ready to use, once you import the spring-boot-starter-web.jar and Tomcat embedded spring-boot-starter-tomcat.jar.

Advantages:

  • The Spring Boot project will be very simple to develop Java based enterprise web application using MVC architecture.
  • The Spring Boot configuration also very simple, you can use a properties file.
  • Spring Boot provides a wide range of features like embedded server, Tomcat, Jetty, Undertow and most of the things are auto configured and development will be faster.
  • Create a standalone application quick and easy.
  • Externalized file based configuration.
  • Spring Boot will provides production ready features like health checks, metrics and externalized configuration.
  • Spring Boot provides opinionated ‘starter’ Project Object Models (POMs) to simplify your Maven configuration.
  • No need to deploy WAR files and no XML configuration and absolutely no code generation.

Disadvantages:

  • Spring Boot will write up its own code, less/lost leaning.
  • Spring Boot will bring lots of jars and other files, if you are not using those, you may end up removing unused jars and files.
  • Spring Boot will bring own annotation files with numbers and auto generated strings, which we have to learn later.

Struts Framework

This post we are going to learn struts framework advantages and disadvantages.

Struts framework is an open source web application framework, and developed by Apache Software Foundation.

Advantages:

  • To develop Java based enterprise web application using MVC architecture.
  • Struts framework is an action based presentation framework.
  • Action based POJO (Plain Old Java Object).
  • Struts framework is thread safe.
  • It supports SOAP and REST based web services.
  • Spring dependency injection.
  • Hibernate ORM framework.
  • Struts support AJAX and JQuery.
  • Struts is an MVC framework.
  • Struts framework provides custom tag libraries.
  • Centralized file based configuration (XML or Property files).
  • Form beans automatically populate JavaBean request parameters.
  • HTML tags provides a set of custom JSP tags.
  • Struts provide form field validation, it can be used in server side and client side validation.

Disadvantages:

  • Lack of documentation.
  • Slow performance due to various function calls.
  • More learning.

JavaScript

This post, we are going to learn about JavaScript.

JavaScript is a scripting language.

It will be used in HTML and web programs.

JavaScript is a lightweight and easy to implement and easy to learn.

Advantages of JavaScript:

  • JavaScript will be very fast, being a client side programming.
  • It will be easy to implement.
  • JavaScript will be supported and works with many languages.
  • JavaScript is a client side programming and executed on client side.
  • It will reduce the server load.
  • JavaScript will provide rich interfaces to application/site.
  • JavaScript will be supported almost all the browsers.

Disadvantages of Java Script:

  • Security – code executes user’s device/browser, JavaScript code is visible to end user.
  • JavaScript do not support any multi thread or multiprocessor.

Spring Framework

This post we are going to learn about Spring Framework.

Spring framework is a popular application framework for the Java platform.

Spring has several modules:

  • Spring Core
  • Spring IOC
  • Spring JDBC
  • Spring MVC
  • Spring ORM
  • Spring AOP
  • Spring Batch
  • Spring Boot
  • Spring Roo

Spring Advantages:

  • Spring is a lightweight framework.
  • Spring is loosely coupled (spring dependency injection (inversion of control), which will be the heart of the framework functionality).
  • Spring supports various frameworks like Hibernate, Struts.
  • Spring dependency injection makes easy to test the application.
  • Spring supports for JDBC, JMS, JTA and JPA.
  • Spring MVC supports with RESTful web service.

What is Build, Build Automation and Continuous Integration?

This tutorial we are going to learn about Build, Build Automation and Continuous Integration.

Build:

The build is a process of compiling the source code into binaries and package the software into JAR, WAR, EAR and whatever require the format for deployment or installation.

Build tools are usually transforming source code into binaries, which we can run on the command line or inside IDE.

Build Automation:

Build automation is automating the build process instead of manual process or deployment.

Deployment automation is making the build file and deploying to corresponding environments like Test, Non-Prod/UAT, or Production system.

Build Automation will do below steps.

  1. Connect to source control server (Subversion, RTC, Github, and CVS)

  2. Download the latest version into Master/Trunk/Mainline

  3. Compile the application

  4. Execute the code analysis (PMD, Checkstyle and FindBugs)

  5. Package the application binaries (JAR, WAR, EAR)

  6. Deploy the application to remote web or application server

  7. Restart the server

  8. Send an email with the summary of deployment.

Continuous Build:

Once code check-in to source code repository, automated build for every check-in.

Continuous Integration (CI):

Continuous Integration is a software development practice where developers commit code to a source code repository more frequently (check-in and checkout).

Build automation is the process of automating the application deployment, unit test and release using CI. CI process will be automated using a build tool with a continuous integration server.

Build Tools like Maven and Gradle.

Continuous Integration Servers like Jenkins, Hudson and CruiseControl.

Continuous Deployment (CD):

Automated deployment when deployment passed using CI into the lower environment like test/QA system also passed manual/functional testing and code changes will be promoted to the higher environment like UAT or Production.

Continuous Deployment will provide the notification to new/existing users, application/product release notes, new features, notifying to support, new version changes and other details.

Continuous Delivery:

Continuous Delivery is a software development practice where the release process is completely automated. All the code changes are automatically built, tested/verified, and deployed to a production environment.

Types of Cloud Computing?

This tutorial we are going to learn about Cloud Computing Types.

Types of Cloud Computing

  1. Public Cloud
  2. Private Cloud
  3. Hybrid Cloud
  4. Community Cloud

Public Cloud:

Public cloud services are owned by third party service providers. The services will be provided over the internet/network, which will be used to open to use in public.

Private Cloud:

Private cloud services are built entirely for a single enterprise usage, whether managed internally or by a third party firm to host the application or services in the cloud.

Hybrid Cloud:

Hybrid cloud is a composition of two or more clouds (private, community or public) that remain separate entities, but are guaranteed together to offer the benefits or multiple deployment models and depending upon their purpose.

An organization can maintain control of an internally managed private cloud while depending on the public cloud as needed.

Community Cloud:

Community cloud services exclusively used by a specific community of consumers, and it may operated and managed by one or more organizations in the community. Infrastructure is shared between organizations.

How to Create Dynamic Web Project using Eclipse and Tomcat Server?

This tutorial is going to explain step by step, how to create a dynamic web project and how to print ‘Hello World’.

Tools used.

Eclipse Mars 4.5.2 – http://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/mars2

Tomcat Server 8.0 – https://tomcat.apache.org/download-80.cgi

1. Dynamic Web Project

2. WebApp > click ‘Next’

3. Click ‘Next’

4. Click ‘Finish’

5. WebContent > New > JSP File

6. Create JSP file > index.jsp > Click ‘Next’

 

7. Click ‘Finish’

8. Add JSP file to <h1>Hello World</h1>

9. Adding Tomcat Server

 

Servers tab, right click New > Server

10. Click ‘Finish’

11. index.jsp > Run As > Run on Server

12. Click ‘Next’

13. Click ‘Finish’

14. http://localhost:8080/WebApp/index.jsp