Spring Framework
웹 애플리케이션 개발을 위한 Framework는 Spring 뿐만 아니라, Django, Express, Flask, Lalavel 등 다양한 Framework를 통해 개발이 가능하다.
각각 Framewokr마다 사용하는 언어도 다르고 개발 방법도 조금씩 달라지게 된다.
Spring Framework를 사용함으로써 얻을 수 있는 장점을 정리해보자.
- Java 언어를 사용함으로써 얻는 장점
- POJO(Plan Old Java Object) 기반의 구성
- DI(Dependency Injection) 지원
- AOP(Aspect Oriented Programming, 관점지향 프로그래밍) 지원
Java 언어의 특징 중 어떤 점이 장점으로 다가올 수 있을까?
정적타입의 언어로서 변수의 타입, 메서드의 입력과 출력이 어떤 타입을 가져야 하는지를 강제한다.
이는 곧 여러 사람이 함께 작업할 때, 다른 사람의 코드 혹은 이전에 내가 작성했던 코드를 수정, 보완이 용이하고 웹 서버를 구축하는 데 있어서 런타임에 발생하는 오류를 사전에 방지할 수 있다.
그렇다면 Java 언어를 사용하는 Framework는 Spring 이외에는 없는 걸까?
Java 기반의 웹 애플리케이션 개발을 위한 Framework는 Spring Framework만 있는것은 아니다.
Apache Struts2나 Apache Wicket, JSF(Java Server Faces), Grails 같은 Java 또는 JVM 기반의 Web Framework들이 존재하며, 현재도 꾸준히 그 기능들이 업데이트되고 있다.
그럼에도 유독 Spring Framework를 더 많이 사용하는 이유는 대부분의 기업들이 기업용 엔터프라이즈 시스템용 애플리케이션 개발에 있어 Framework를 선택할 때, 개발 생산성을 높이고 어떻게 하면 애플리케이션의 유지 보수를 조금 더 용이하게 할 것인가에 많은 초점을 맞추는 것이 사실이기 때문이다.
기업용 엔터프라이즈 시스템
기업용 엔터프라이즈 시스템이란 기업의 업무(기업 자체 조직의 업무, 고객을 위한 서비스 등)를 처리해 주는 시스템을 의미한다. 기업용 엔터프라이즈 시스템은 대량의 사용자 요청을 처리해야 하기 때문에 서버의 자원 효율성, 보안성, 시스템의 안전성이나 확장성 등을 충분히 고려해서 시스템을 구축하는 것이 일반적이다.
Spring Framework는 개발 생산성을 향상하고 애플리케이션의 유지보수를 용이하게 하는 Framework의 기본 목적 그 이상을 달성할 수 있게 해준다.