# SOA

15개의 포스트

[WIL] Week 16

1. FACTS 최종 프로젝트 프론트엔드 진행 : 추억을 공유하는 커뮤니티 (마이크로 서비스 아키텍처) MSA, TCP와 관련된 이론 공부 2. FEELINGS 뼈대 코드와 이론적인 부분(MSA와 TCP를 사용하는 이유 등)이 정리가 완전히 되지 않는 느낌이 들었다. 팀원들과 각자 주말 동안 해야할 이론 공부 목록을 정리하고 월요일날 같이 공부한 내용을 공유하기로 했다. 현재 프로젝트에서 기본적인 CRUD도 완성이 되었고, 프론트엔드 연결까지도 완성이 되었다. 때문에 원래 목표였던 채팅방 서비스나 S3 적용, 테스트 코드, 소셜 로그인, 로그 전략 등의 기능을 도전 과제로 두고 중간 발표가 끝난 후부터 팀원들과 차츰 구현해보기로 했다. S3의 경우 이론적인 부분이 중요하다고 생각되어, 맡았던 프론트엔드 구현이 어느 정도 마무리되었을때부터 공부를 하기 시작했다. 바로 적용하기엔 좀 더 공부가 필요한 부분이라 생각되어 이것도 월요일날 팀원들과 조율해

2023년 9월 3일
·
0개의 댓글
·
post-thumbnail

MSA 와 기존 방식의 차이

이번에 진행할 프로젝트에서 MSA 를 사용하여 개발하기로했다. 처음에는 MSA로 어떻게 개발하라는거지 ? 싶었다. MSA 란? MSA(MicroServiceArchitecture)는 MonolishArchitecture방식에서 Service 들을 독립적으로 모듈화 하여 개발하고 서로 RESTful 통해 통신하는 구조를 뜻 한다. Monoish Architecture는 하나의 application으로 모든 service를 커버하는 형태이다. 즉, 나는 여태 Monolithic Architecture로 개발을 했던거였고 이를 Service 단위로 쪼개라는 의미였다. 그런데 Service 단위로 모듈화한 방식은 MSA 뿐만 아니라 SOA도 있다. 두가지 차이점을 보자. ![](https:/

2023년 5월 3일
·
0개의 댓글
·

MSA

개요 회사에서 개발을 할 때 우리의 개발은 MSA로 진행이 된다. 입사 초반에는 MSA가 뭔지, 왜 굳이 이렇게 나눈건지 신경쓸 일 없이 얼른 코드를 짜서 배포하느라 바빴다. 이번에 개발을하고, 서버팀 규모도 커지면서 공통적인 코드가 많아진 느낌이라 오히려 MSA가 독인 거 같아서 어떻게 하면 코드 관리를 잘 할 수 있을지 혼자서 리서치를 해보기로했다. (잘 정리되면 공유하기,,) MSA? MSA는 MicroService Architecture의 줄임말로, MicroService는 애플리케이션을 느슨하게 결합시킨 서비스의 모임을 구조화하는 서비스 지향 아키텍쳐 (SOA) 스타일 중 하나인 개발 기법이다. > SOA는 Service Oriented Architecture의 줄임말로 애플리케이션 구성요소가 통신 프로토콜을 통해서 다른 구성요서에 서비스를 제공하는 아키텍쳐 접근 방식이다. > MSA는 왜 나온거지?

2023년 3월 24일
·
0개의 댓글
·

연계 매커니즘

연계 방식의 종류 직접 연계 DB link 한 데이터 베이스에서 네트워크상의 다른 데이터 베이스에 접속하기 위한 설정을 해주는 오라클 객체이다 DB Connection Pool 수신 시스템 WAS에서 송신 시스템 DB로 연결되는 Connection Pool을 생성하고 프로그램 소스에서 WAS에 설정된 Connection Pool 명을 참고하여 구현한다 JDBC 수신 시스템의 Batch, Online프로그램에서 JDBC 드라이버를 이용하여 송신 시스템의 DB와 연결을 생성한다 화면 링크 웹 애플리케이션 화면에서 하이퍼링크를 사용한다 API/OpenAPI 송신 시스템의 DB와 연결하여 데이터를 제공하는 인터페이스 프로그램이다 간접 연계

2023년 3월 14일
·
0개의 댓글
·

스프링 입문을 위한 자바 객체 지향의 원리와 이해 - Chapter 01. 사람을 사랑한 기술 Ep_3

신기술은 이전 기술의 어깨를 딛고 개발자를 위해 발전한다. 이번 파트에서는 지금까지 정리해온 언어들의 특징(사랑)에 대해 알아보겠습니다. 기계어 ㆍ개발자를 사랑하기에는 너무 초창기 기술 ㆍ탄도의 궤적은 계산해주었음 어셈블리어 ㆍ인간의 언어로 프로그램 작성이 가능하게 해줌 C ㆍ하나의 소스로 이기종 간에 이식성을 확보 C++ ㆍ객체 지향 개념을 도입 ㆍ인간적인 사고의 프로그래밍 방식 Java ㆍ한 번의 컴파일로 이기종 간에 이식성을 확보 ㆍ포인터에 대한 개념 없이 프로그래밍을 가능하게 함 스프링 프레임워크 ㆍIoC/DI, AOP, PSA 라고 하는 객체 지향의 베스트 프랙티스만으로 쉽게 구현가능한 프레임 워크 CBD, SOA가 어려운가? CBD란? Component Based Development의 약자로 컴포넌트 기반

2022년 12월 26일
·
0개의 댓글
·

SOA란?

Service-Oriented Architecture 네트워크에서 공통의 언어를 사용하는 서비스 인터페이스를 활용, 소프트웨어 구성요소를 다시 사용할 수 있게 만드는 설계 유형입니다. 서비스는 독립적인 소프트웨어의 기능 단위나 모음을 지칭합니다. 1. SOA의 개념 새로운 서비스를 구현할 때 완전 새로운 시스템을 신규 개발 하기 보다는 이미 제공되어 있는 기존의 서비스를 조합하여 구현할 수 있습니다 모놀리식 모델 사용 시기에는 애플리케이션 전체의 코드가 하나의 배포에 구현 되었기 때문에, 오류가 났을 경우 오프라인으로 전환 후 문제를 해결하고 새 버전을 다시 배포해야 했습니다 SOA에서는 요청을 보내거나 데이터에 액세스 할 때 표준 네트워크 프로토콜을 사용하여 서비스를 공개하므로 개발자가 처음부터 끝까지 새로 통합할 필요가 없어졌습니다. ESB 패턴은 중앙화된 구성 요소, 백엔드 시스템을 통합하고 이를 인터페이스 형태로 제공합니다. 개발자는 기존 기능을 재사용 할

2022년 12월 6일
·
0개의 댓글
·
post-thumbnail

[백엔드 로드맵 - Architecture Pattern] SOA

Intro 이번 주제는 SOA, Service Oriented Architecture에 대해 포스팅 해 보도록 하겠다. Service Oriented Architecture 서비스 지향 구조라는 의미다. 업무상에 일 처리에 해당하는 부분들을 하나의 서비스로 판단해서 네트워크에 연동하여 시스템 전체를 구축 해 나가는 방법론이다. 조금 더 쉽게 얘기 해 보자면, 기존의 시스템들은 각각 독립적인 업무 시스템이라고 할 수 있다. 하지만 SOA는 특정한 기능을 하는 단위인 서비스들을 배열하여 하나의 업무를 구성한다고 할 수 있다. 더 간단히 얘기해보면 기존에 제공 되어있는 서비스들을 조합하여 하나의 시스템을 구축한다고 할 수 있다. MSA VS SOA MSA와 차이점이 존재하는가? 라는 의문이 들 수 있다. MSA와 SOA의 기본 철학은 비슷하다. MSA 또한 작은 서비스들을 조합하여 하나의 시스템을 구축한다. 하지만 MSA가 조금 더 작은 단위의 아키텍쳐 형태를

2022년 10월 23일
·
0개의 댓글
·
post-thumbnail

AWS SOA 후기

약간 핑계이긴하지만, 해외에서 적응하고 … 여행다니느라 공부를 못했었다 ㅋㅋㅋㅋ 그래서 너무 느린속도로 다음 자격증을 준비하게된거같다.. 반성하시오…ㅋㅋㅋㅋ 해외라서 엄청 시야가 넓어진 것같다.. 그동안 정말 많은 것을 알게되었고 스스로를 돌아볼수있던 시간이였다. ——- 현재 일본에 있다보니, 일본 신주쿠 시험 센터에서 시험 신청을 했다. Daiwa 빌딩 8층에 테스트센터가 있다. 신주쿠역에서 나오면 5분정도 거리에 있는 곳이였다. 한국이랑 똑같은 분위기다 보니 걱정은 없었다. 재류카드 + 여권으로 자기인증을 완료하고 시험장에 들어가서 시험을 치면 된다. 한국과 다른 점이 전혀 없음! 1회차 20220928 sysops 1회차 떨어졌다! 이유는 다음과 같다. 실습랩을 제대로 해내지 못했기 때문, Sysops에서 실습랩에 할당된 점수는 크기때문에, 랩을 제대로 해내지 못하면 당연히 떨어진다. 2회차 20221012 sysops

2022년 9월 29일
·
0개의 댓글
·
post-thumbnail

내 맘대로 용어정의

서비스 지향 아키텍쳐(SOA : Service Oriented Architecture) ㅁ 정보시스템의 구현을 위해 가장 선진화된 소프트웨어 아키텍쳐 ㅁ 서비스라고 정의되는 분할된 어플리케이션 조각들을 Loosely-coupled 하게 연결해 하나의 완성된 어플리케이션을 구현하기 위한 아키텍쳐 > ### 무선 통신 기술 피코넷(PICONET) ㅁ 블루투스,UWB 통신기술 사용하여 통신망을 형성하는 무선 네트워크 기술 ㅁ 상황에 따라 조정 프로토콜에 의하여 마스터와 슬레이브의 역할을 하면서 네트워크를 형성하고 좁은 공간에서 네트워크를 형성하는 특징 지그비(ZIGBEE) ㅁ 전송 속도가 느리고 *홈오토메이션 및 데이터 네트워크를 위한 표준 기술 ㅁ IEEE 802.15 표준 기반, **메시 네트워크 방식을 사용 *) 홈 오토메이션 : 집의 안락함,편안함,보안,에너지 효율성 등이 가족구성 원에게 효율적으로 맞추는 것 **) 메시 네트워크 : !

2022년 9월 26일
·
0개의 댓글
·
post-thumbnail

SOA ?

SOA (Service Objected Architecture) SOA는 서비스 지향 아키텍처를 의미한다 대규모 컴퓨터 시스템을 구축할때의 개념으로 업무상에 SoftWare기능을 서비스로 판단하여 그 서비스를 네트워크상에 연동하여 전체를 구축하는 방법론 이다. 업무처리가 빠르게 대처하고 시스템에 반영하고, 많은 클라이언트(수요)에 대응하기 위해서 나온 아키텍처이다. 쉽게 말하자면, SOA는 새로운 업무를 구현할 때 새롭게 시스템을 신규 개발하는 것이 아니라 이미 제공되어 있는 기존의 서비스들을 조합하여 하나의 업무를 구현한다는 개념이다. 서비스 지향 아키텍처 SOA 특징 서비스는 발견이 가능하고 동적으로 바인딩된다. 서비스는 컴포넌트와 같이 독립된 모듈이

2022년 7월 22일
·
0개의 댓글
·
post-thumbnail

MSA 탄생배경

MSA 이전의 기술들 Monolithic Architecture 대부분의 엔터프라이즈급 응용프로그램은 다음과 유사한 계층구조를 가지게 된다. Presentation : UI 같이 유저에게 보여지는 부분을 담당하는 계층 Business Logic : 응용프로그램 내부 로직을 담당하는 계층 Database Access : 데이터베이스에 접근하여 영속성 데이터를 관리하기위한 계층 Application Integration : 다른 응용프로그램과의 통신을 위한 계층 이때 이러한 모든 계층을 하나의 서비스 또는 어플리케이션만을 사용하여 모든 기능을 하는 경우를 의미한다. (즉 Application Integration 계층이 없거나 작다. (Naver API 같은 타 API 와의 통신은 필요하므로)) 이러한 모놀리식 구조는 개발초기에 한하여 개발, 테스트, 배포가 쉽고 서비스 구조가 비교적 단순하다는 장점이 있지만 아래와

2022년 2월 10일
·
0개의 댓글
·
post-thumbnail

MSA 정리 - (2) MSA와 SOA의 차이

1. SOA,MSA 란? > SOA는 서비스 지향 설계 방식(Service Oriented Architecture) SOA는 서비스 단위로 개발을 하고, 개발된 서비스들을 공유함으로써 재가용성을 늘리고 유연성을 확보하는 것을 목표 > MSA는 마이크로 서비스 설계 방식(Micro Service Architecture) MSA 또한 아주 작은 단위의 서비스로 소프트웨어를 구성함으로써 민첩하고 유연한 설계하는 것을 목표 2. 공유 지향점 SOA는 비즈니스 측면에서의 서비스 재사용성을 중요시하여 ESB(Enterprise Service Bus)라는 서비스 채널 이용 -> 서비스 공유, 재사용 MSA는 한 가지 작은 서비스에 집중하여 서비스 공유하지 않고 독립적 실행 > soa - 재사용

2022년 1월 25일
·
0개의 댓글
·
post-thumbnail

SOA & MCI & EAI & ESB

SOA Service Oriented Architecture SOA는 어떤 실체가 있다기 보다는 개념이다. 어떤 개념이냐면 비즈니스적인 의미를 가지는 컴포넌트를 기업내의 통합된 프로토콜로 서비스하여 제공하는 개념이다. 그래서 이 SOA는 BPM을 이용한 Composition이나 ESB를 이용한 유연성의 증대 등으로 구체화될 수 있다. 우선 금융권의 채널이란 무엇인가? 금융권의 채널은 대내 채널과 대외 채널로 나눌 수 있다. 대내 채널 : 각 영업점의 단말(창구), ATM, 인터넷, 콜센터 등의 고객 접점 (증권사의 경우라면 각 영업점의 단말, HTS, WTS, MTS 등이 있다) 대외 채널 : 금융결제원, 제휴기관, 은행공동망, VAN사 그런데 채널이 늘어나면서 관리, 통제가 어려워진다. 또한 서비스 중복에 따른 비용이 증가하고 있다. 일반적인 채널 구조의 문제점을 정리해보자. 업무의 채널 종속성 : 시스템을 개발할 때 모든 채널을 고려하여 구현해야 한다

2021년 7월 7일
·
0개의 댓글
·
post-thumbnail

[면접 대비] 이것 저것(etc)

컴포넌트 & 모듈 > 컴포넌트 실질적으로 동작되고 있는 개체(단위) > > 모듈 가장 상위에 위치하는 구현의 단위 실질적으로 구현이 된 단위 기능을 기준하여 분리된 단위 C++ & Java 차이점 (ref : https://m.blog.naver.com/PostView.nhn?blogId=ws6263&logNo=100198938111&proxyReferer=https:%2F%2Fwww.google.co.kr%2F) > 설계 목표 C++ : , 에 집중 Java : 과 에 집중 > 메모리 관리 :* 은 하여 을 하기 위해 , , 같은 을 하게 했다. 하지만, 에서는 이렇게 을 은 이 대신 해준다.* C++ * / 모두 * 를 가 으로 해야함( 이용) Java *

2021년 5월 30일
·
0개의 댓글
·

[TIL] C# 코드 리팩토링

개요 리팩토링 대상 - TeamCenter(저장소)와의 통신 library(SOA)를 사용하는 Class Original Code 확장성 고려 X - 한 개 화면 / 한 개 모델 / 일회적 통신으로 사용을 목적으로 작성 통신기능이 ViewModel 클래스에 존재 ViewModel 생성자에서 connection을 맺어, 통신용 메소드에 connection을 던져줌 메소드에서 데이터를 반환하지 않고, ViewModel 변수에 저장 (read와 write가 한 메소드 내에서 수행됨) DAO와 DTO가 혼재된 사용 Refactorying . 통신 기능을 별도의 클래스(Manager)로 분리 . Manager의 클래스 변수로 Connection을 넣고, 메소드에서 가져다 사용하도록 작성 . Manager 생성자에서 connection을 맺고, 소멸자에서 logout . IDisposable을 상속받아 Dispose()에 logout 기능 추가하여 us

2020년 7월 15일
·
0개의 댓글
·