์คํ๋ง ํ๋ ์์ํฌ ์ญ์ฌ(๋ฐฐ๊ฒฝ)
์ญ์ฌ
๋ก๋ ์กด์จ์ด 2002๋ 10์์ ์ถํํ ์์ ์ ์ ์์ธ Expert One-on-One J2EE Design and Development ์ ์์ฑํ ์ฝ๋๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ต์ด ๋ฒ์ ์ ๋ง๋ค๊ฒ ๋จ.
(์ดํ ์ ๊ฒ ํ๋ฌ์ ํจ๊ป Expert One-on-One J2EE Development without EJB ๋ผ๋ ์ ๋ชฉ์ ์ ์๋ฅผ ๋ฐ๊ฐํจ)
2006๋ ์ 1.2.6 ๋ฒ์ ์ผ๋ก Jolt Productive Award ์ Jax Innovation Award ๋ฅผ ์์ํ์์.
๋ฒ์ | ๋ ์ง |
---|---|
5.0 M5 | 2017๋ 2์ |
4.3 | 2016๋ 6์ |
4.2 | 2015๋ 7์ |
4.1 | 2014๋ 9์ |
4.0 | 2013๋ 12์ |
3.2 | 2012๋ 12์ |
3.1 | 2011๋ 12์ |
3.0 | 2009๋ 12์ |
2.5 | 2007๋ 11์ |
2.0 | 2006๋ 10์ |
1.0 | 2004๋ 3์ |
๋ฐฐ๊ฒฝ
1. ์ํฐํ๋ผ์ด์ฆ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ ์ด๋ ค์
์ํฐํ๋ผ์ด์ฆ ์ ํ๋ฆฌ์ผ์ด์ ์ด๋ ๊ธฐ์ ๊ณผ ์กฐ์ง์ ๋น์ฆ๋์ค๋ฅผ ์ฒ๋ฆฌํด์ฃผ๋ ์์คํ ์ ์๋ฏธํจ.
์ํฐํ๋ผ์ด์ฆ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ด ์ด๋ ค์ด ์์ธ์ ๊ฐ๋ฐ์ ๋ณต์ก์ฑ(complexity)์ด ์ฆ๊ฐํ๊ธฐ ๋๋ฌธ์.
- ๊ณผ๊ฑฐ์ ๋นํด ์ฌํ๋ ์ ์ ๋ณต์กํด์ก์ผ๋ฉฐ, ์ด์ ๋ฐ๋ผ IT ์์คํ ์ ๋ํ ์์กด๋๊ฐ ๋์์ ธ ์์คํ ์์ ๋ค๋ฃจ์ด์ผ ํ๋ ์ ๋ฌด์ ๋ณต์ก๋๊ฐ ๋์์ง.
- ๋ง์ ์ฌ์ฉ์์ ์๊ตฌ๋ฅผ ๋น ๋ฅด๊ณ , ์์ ์ ์ด๋ฉด์, ํ์ฅ ๊ฐ๋ฅํ ํํ๋ก ์ ์งํ๊ธฐ ์ํด์ ํ์ํ ๋ก์ฐ๋ ๋ฒจ ์์ค์ ๊ธฐ์ ์ ์ฒ๋ฆฌ๊ฐ ํ์ํด์ง.
์ฐธ๊ณ
๊ณผ๊ฑฐ J2EE ํ๋ก์ ํธ๊ฐ ์ ์คํจํ๋์ง์ ๋ํ ํ ๋ก ์ ์ฐธ๊ณ ํ๋ฉด ๋น์์ ์ํฉ์ ์ดํดํ๋ ๋ฐ ๋์์ด ๋ ์ ์์.
์ํฐํ๋ผ์ด์ฆ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ ๋ณต์ก์ฑ์ ํฌ๊ฒ ๋น์ฆ๋์ค ๋ณต์ก์ฑ๊ณผ ๊ธฐ์ ๋ณต์ก์ฑ์ผ๋ก ๋๋ ์ ์์.
๋น์ฆ๋์ค(์ ๋ฌด) ๋ณต์ก์ฑ | ๊ธฐ์ ๋ณต์ก์ฑ |
---|---|
|
|
์์ ๊ฐ์ ๋ณต์ก์ฑ์ ํด๊ฒฐํ๊ธฐ ์ํด์๋ ๋น์ฆ๋์ค ๋ณต์ก์ฑ๊ณผ ๊ธฐ์ ๋ณต์ก์ฑ์ ๋๋์ด์ ์ ๋ณตํ๋ ์ ๋ต(Divide and Conquer)์ด ํ์ํจ.
2. Java EE์ EJB
2.1. Java EE (Java Platform, Enterprise Edition)
์ปค๋ฎค๋ํฐ(JCP, Java Community Process)์์ ์ฃผ๋ํ๋ ์ํฐํ๋ผ์ด์ฆ ์ํํธ์จ์ด์ ํ์ค [1]
์ฐธ๊ณ
Java EE์ ๋ํด์ ์ข ๋ ์๊ณ ์ถ๋ค๋ฉด ์๋ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ์.
2.2. EJB (Enterprise JavaBeans)
Java EE๋ฅผ ์ํ ์๋ฒ์ฌ์ด๋ ์ปดํฌ๋ํธ ์ํคํ ์ฒ [2]
EJB์ ๋ชฉํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฝ๊ฒ ์์ฑํ๋ ๊ฒ์ ์์์ [3]
2.1 Overall goals
We have set the following goals for the Enterprise JavaBeans (EJB) architecture:
- ...
The Enterprise JavaBeans architecture will make it easy to write applications: Application
developers will not have to understand low-level transaction and state management details,
multi-threading, connection pooling, and other complex low-level APIs.- ...
2.1 ๋ชฉํ
์ฐ๋ฆฌ๋ ์ํฐํ๋ผ์ด์ฆ ์๋ฐ๋น์ฆ (EJB) ์ํคํ ์ฒ์ ๋ํด ๋ค์๊ณผ ๊ฐ์ ๋ชฉํ๋ฅผ ๊ฐ์ง๋ค.
- ...
- ์ํฐํ๋ผ์ด์ฆ ์๋ฐ๋น์ฆ ์ํคํ ์ฒ๋ ์ ํ๋ฆฌ์ผ์ด์ ์์ฑ์ ์ฝ๊ฒ ํ ์ ์๋ค : ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์๋ ๋ก์ฐ ๋ ๋ฒจ์ ํธ๋์ญ์ ์ด๋ ์ํ ๊ด๋ฆฌ, ๋ฉํฐ ์ค๋ ๋ฉ, ์ปค๋ฅ์ ํ๋ง, ๊ทธ๋ฆฌ๊ณ ๊ธฐํ ๋ณต์กํ ๋ก์ฐ ๋ ๋ฒจ์ API๋ฅผ ์ดํดํ์ง ์์๋ ๋๋ค.
- ...
2.3 ๋ ๋ค๋ฅธ ๋ฌธ์
EJB๋ ์นจํฌ์ ์ธ(invasive) ๊ธฐ์ ๋ก ์์ค์ฝ๋ ์ธก๋ฉด์์์ ๊ฐ์ ์ฌํญ(EJB ๊ด๋ จ ํด๋์ค๋ฅผ ๋ฐ๋์ ์ฌ์ฉ)๊ณผ ๊ฐ๋ฐํ๊ฒฝ ์ธก๋ฉด์์์ ๊ฐ์ ์ฌํญ(EJB ์ปจํ ์ด๋ ์ฌ์ฉ) ๋๋ฌธ์ ์๋์ ๊ฐ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์์.
- ๊ฐ๋ฐ ์์ฐ์ฑ ์ ํ
- ์ ์ง ๋ณด์์ฑ ์ ํ
- ํ ์คํธ ์ฉ์ด์ฑ์ด ๋จ์ด์ง
- ๋ฐฐํฌ์ ์ด๋ ค์
์ฐธ๊ณ
EJB๋ฅผ ์ด์ฉํ ์์ ์ฝ๋๋ ์๋์์ ์ฐธ๊ณ ํ ์ ์์.
- [์์ฑ์ค] EJB ์์ ์ฝ๋(github)๋ฅผ ์์ฑํ์ฌ ์ด๊ณณ์ ๋งํฌ๋ฅผ ์ถ๊ฐํ ๊ฒ.
3. ์คํ๋ง ํ๋ ์์ํฌ์ ๋ฑ์ฅ
EJB์์ ๋ฌธ์ ๊ฐ ๋์๋ ๋ถ๋ถ์ ํด๊ฒฐํ๊ธฐ ์ํด ๋น ์นจํฌ์ ์ธ(non-invasive) ๋ฐฉ์์ ๋์ ํ์๊ณ , ์ํฐํ๋ผ์ด์ฆ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ ์ข ๋ ์ฝ๊ฒ ํ๊ธฐ ์ํ ๋ชฉ์ ์ผ๋ก ๋ง๋ฆ.
์ด๋ฌํ ์ฌ์์ Spring Mission Statement์ ์ ๋ํ๋ ์์.
[1] ^ http://www.oracle.com/technetwork/java/javaee/overview/index.html
[2] ^ http://www.oracle.com/technetwork/java/javaee/ejb/index.html