Spring λλ Javaλ₯Ό 곡λΆνλ€λ©΄ ν λ²μ―€μ λ€μ΄λ΄€μ EJBμ λν΄ μμ보μ.
EJBλ?
Java κΈ°λ°μ Enterprise Application κ°λ°μ μν μλ² μΈ‘ μ»΄ν¬λνΈ λͺ¨λΈλ‘, μ£Όλ‘ λΉμ¦λμ€ λ‘μ§μ μ²λ¦¬νλ μν μ λ΄λΉνμ¬ ν° κ·λͺ¨μ λΉμ¦λμ€ μ ν리μΌμ΄μ μ ꡬμΆνκ³ κ΄λ¦¬νλ λ° λμμ μ€λ€. → κ°λ°μλ€μ μ ν리μΌμ΄μ μ ν΅μ¬ λ‘μ§μ EJB μ»΄ν¬λνΈλ‘ μμ±νκ³ , μ΄λ₯Ό μ¬μ¬μ©νκ±°λ λΆμ° νκ²½μμ μ€ν
- Enterprise Application : λΉμ¦λμ€ λλ νμ¬ νκ²½μμ μλνλλ‘ μ€κ³λ λκ·λͺ¨ μννΈμ¨μ΄ μμ€ν νλ«νΌ. 볡μ‘νκ³ νμ₯ κ°λ₯νλ©° κ΅¬μ± μμ κΈ°λ°μ΄λ©° λΆμ° μλΉμ€λ₯Ό μ§μν΄μΌ νλ€.
- Component : νλ‘κ·Έλλ°μ μμ΄ μ¬μ¬μ©μ΄ κ°λ₯ν κ°κ°μ λ 립λ λͺ¨λ
λΆμ° μ ν리μΌμ΄μ μ μ§μνλ μ»΄ν¬λνΈ κΈ°λ°μ κ°μ²΄λ‘,
μλ° κ°μ²΄λ₯Ό μ¬μ¬μ© κ°λ₯νλλ‘ μ¦, μ»΄ν¬λνΈνν μ μλ μ½λ© λ°©μΉ¨μ μ μν κ².
κΈ°μ λ±μμ μ¬μ©νλ λκ·λͺ¨ SWλ₯Ό κ°λ°νκΈ° μν΄ μλ²μ ν¬ν¨λλ κ².
- Enterprise Bean : λΉμ§λμ€ λ‘μ§μ νμ¬ν μλ² μ»΄ν¬λνΈ
- Container : Database, Transaction μ²λ¦¬ λ±μ μμ€ν μλΉμ€ λ‘μ§μ κ°μΆ€. → κ°λ°μκ° λΉμ§λμ€ λ‘μ§μ κ°λ°μλ§ μ λ ν μ μκ² ν΄μ€
- EJB Server : 컨ν μ΄λλ₯Ό κ΄λ¦¬νμ¬ EJBλ‘μ νμν μμ€ν λ 벨μ μλΉμ€λ₯Ό μν β» μμ€ν λ 벨μ μλΉμ€ : Database, Transaction μ²λ¦¬
- Client Application : Java Applet, Java Application, Servlet, JavaServer Pages(JSP) λ² μ΄μ€μ μ ν리μΌμ΄μ λ±
EJBμ μ£Όμ νΉμ§
- λΆμ° νκ²½ μ§μ : λΆμ° νκ²½μμ μ€νλ μ μλλ‘ μ€κ³λμ΄ λ€μμ μλ²μμ μ ν리μΌμ΄μ μ μ€ννκ³ νμμ λ°λΌ λΆνλ₯Ό λΆμ°νλ λ±μ μμ λ κ°λ₯.
- νΈλμμ κ΄λ¦¬ : νΈλμμ μ μλμΌλ‘ κ΄λ¦¬νμ¬ λ°μ΄ν°λ² μ΄μ€ μ λ°μ΄νΈμ κ°μ μμ μ μμ νκ³ μΌκ΄λ λ°©μμΌλ‘ μ²λ¦¬ κ°λ₯.
- 보μ : Java Enterprise 보μ λͺ¨λΈμ λ°λ₯΄λ©° μΈμ¦, κΆν λΆμ¬, μνΈν λ±μ 보μ κΈ°λ₯μ μ 곡.
- μ€λ λ κ΄λ¦¬ : μ€λ λλ₯Ό μλμΌλ‘ κ΄λ¦¬νμ¬ κ°λ°μκ° μ€λ λ κ΄λ¦¬μ λν΄ κ±±μ ν νμ μμ΄ λΉμ¦λμ€ λ‘μ§μ μ§μ€ν μ μκ² νλ€.
EJBμ μ’ λ₯
- Session Beans : λΉμ¦λμ€ λ‘μ§μ μ²λ¦¬νλ κ°μ₯ μΌλ°μ μΈ μ νμ EJB. Stateless/Stateful λ κ°μ§ Sub Typeμ΄ μμΌλ©°, ν΄λΌμ΄μΈνΈ μμ²μ λ°λΌ μλ‘μ΄ μΈμ€ν΄μ€λ₯Ό μμ±νκ±°λ κΈ°μ‘΄ μΈμ€ν΄μ€λ₯Ό μ¬μ¬μ©νλ€.
β· Stateless Session Beans : μνλ₯Ό μ μ§νμ§ μκ³ λ 립μ μΌλ‘ μ€ν. μ¬λ¬ ν΄λΌμ΄μΈνΈ μμ²μ μ²λ¦¬ κ°λ₯
β· Stateful Session Beans : ν΄λΌμ΄μΈνΈμμ μνλ₯Ό μ μ§νκ³ , ν΄λΌμ΄μΈνΈλ§λ€ κ³ μ ν μΈμ€ν΄μ€κ° μμ±λ¨ - Entity Beans : λ°μ΄ν°λ² μ΄μ€μμ μνΈ μμ©μ λ΄λΉνλ EJB. λ°μ΄ν°λ² μ΄μ€μ ν
μ΄λΈμ λμνλ κ°λ
μΌλ‘, Entity ν΄λμ€λ₯Ό μμ±νμ¬ λ°μ΄ν°λ₯Ό μ‘°μ/μ‘°νν μ μλ€.
β» Java EE 6λΆν°λ Entity Beans λμ JPA(Java Persistence API)λ₯Ό μ¬μ©νλ κ²μ΄ μΌλ°μ - Message-Driven Beans : λΉλκΈ° λ©μμ§ κΈ°λ° μ ν리μΌμ΄μ μ μ²λ¦¬νλ λ° μ¬μ©λλ EJB μ ν. μ£Όλ‘ λ©μμ§ νμ κ°μ λ©μμ§ μ€κ° μλΉμ€μ ν΅ν© λμλλ©°, λ©μμ§λ₯Ό μμ νκ³ μ΄μ λν μ²λ¦¬λ₯Ό μννλ€.
EJBμ μ₯μ
- μ¬μ¬μ©μ± : μ»΄ν¬λνΈ κΈ°λ°μ μν€ν μ²λ₯Ό μ§μνλ―λ‘ λΉμ¦λμ€ λ‘μ§μ λ 립μ μΈ μ»΄ν¬λνΈλ‘ μμ±ν μ μλ€. → μ½λμ μ¬μ¬μ©μ±, μ μ§λ³΄μμ± ν₯μ
- νμ₯μ± : λΆμ° νκ²½μμ μ€νλλ©° λΆν λΆμ°κ³Ό ν΄λ¬μ€ν°λ§μ μ§μνλ€. → μ ν리μΌμ΄μ μ μ±λ₯, νμ₯μ± ν₯μ
- νμ€ν : Java EE μ€νμ μΌλΆλ‘μ νμ€νλμ΄ λ€λ₯Έ Java EE νΈν μλ²μμλ λμΌν λ°©μμΌλ‘ EJBλ₯Ό κ°λ°νκ³ μ€νν μ μλ€. → μ ν리μΌμ΄μ μ μ΄μμ±, νΈνμ± λ³΄μ₯
- νΈλμμ κ΄λ¦¬ : νΈλμμ μ μλμΌλ‘ κ΄λ¦¬νμ¬ λ³λμ μ½λ μμ± μμ΄ λ°μ΄ν°λ² μ΄μ€ μ λ°μ΄νΈ λ±μ μμ μ μμ νκ² μ²λ¦¬ν μ μμΌλ©°, λΆμ° νκ²½μμμ λΆμ° νΈλμμ λ μ§μνλ€.
- 보μ : Java EEμ 보μ λͺ¨λΈμ λ°λΌ μΈμ¦, κΆν λΆμ¬, λ°μ΄ν° μνΈν λ±μ 보μ κΈ°λ₯μ μ 곡νλ€. → μ ν리μΌμ΄μ μ 보μ μꡬμ¬ν μΆ©μ‘±
- μ€λ λ κ΄λ¦¬ : μ€λ λλ₯Ό μλμΌλ‘ κ΄λ¦¬ν΄μ£Όμ΄ κ°λ°μκ° μ€λ λ κ΄λ ¨ λ¬Έμ λ₯Ό κ±±μ ν νμκ° μλ€. → λΉμ¦λμ€ λ‘μ§μ μ§μ€
EJBλ λκ·λͺ¨ μν°νλΌμ΄μ¦ μ ν리μΌμ΄μ κ°λ°μ μ ν©ν κΈ°μ μ΄μ§λ§, Java EE νΈν μλ²κ° νμνκ³ EJBμ 볡μ‘μ±κ³Ό μ€λ²ν€λλ₯Ό κ³ λ €ν΄μΌ νλ λ¬Έμ μ μ΄ μ‘΄μ¬νλ€. μ΅κ·Ό κ²½λνλ Java κΈ°λ° νλ μμν¬λ€μ΄ λ±μ₯νλ©΄μ EJBλ³΄λ€ ν¨μ¬ κ°λ³κ³ μ μ°ν κ°λ° λ°©μμ΄ μ νΈλλλ°, μ΄κ²μ΄ Springμ΄λ€.
μ€κ°μ€κ° λ±μ₯νλ Java EEλ λκΉ?
[Java] Java Platform(Java SE/EE/ME/FX)μ΄λ?
Java Platform Java νλ«νΌμ Java μ ν리μΌμ΄μ μ κ°λ° λ° κ΄λ¦¬νκΈ° μν νκ²½μΌλ‘, 4κ°μ§ νλ«νΌμ΄ μ‘΄μ¬νλ€. Java SE(Standard Edition) Java EE(Enterprise Edition) Java ME(Micro Edition) Java FX λͺ¨λ νλ«νΌμ JVM(Java Vir
idox.tistory.com
'π» Language > Java : μλ°' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Java] κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°(OOP)μ΄λ? (0) | 2023.08.04 |
---|---|
[Java] Java Platform(Java SE/EE/ME/FX)μ΄λ? (0) | 2023.07.28 |
[E] org.eclipse.swt.SWTError: No more handles (0) | 2023.06.09 |
[Java] Eclipse(μ΄ν΄λ¦½μ€) GUI κ°λ° λꡬ Swing μ€μΉνκΈ° (0) | 2023.04.14 |
[E] Eclipse - The package java.awt is not accessible (0) | 2023.04.14 |