728x90

RPA란?

 

소프트웨어 로보틱스라고 알려진 로보틱 프로세스 자동화(RPA)는 데이터 추출, 양식 작성, 파일 이동 등과 같은 사람들이 하는 백오피스 작업을 대신하기 위해 자동화 기술을 사용합니다.

 

이는 API와 사용자 인터페이스(UI) 상호작용을 결합하여 엔터프라이즈 애플리케이션과 생산성 애플리케이션 간의 반복적인 작업을 통합하고 수행합니다.

 

RPA 툴은 인간 프로세스를 에뮬레이션하는 스크립트를 배포함으로써 연관성이 없는 소프트웨어 시스템에서 다양한 활동 및 트랜잭션을 자율적으로 수행합니다.

 

이러한 형태의 자동화는 규칙 기반 소프트웨어를 사용하여 비즈니스 프로세스 활동을 대규모로 수행하므로 인적 자원은 보다 복잡한 작업에 우선순위를 둘 수 있습니다. RPA를 사용하면 CIO 및 기타 의사 결정권자가 디지털 혁신 노력을 가속화하고 직원의 투자수익률(ROI)을 높일 수 있습니다.


RPA와 지능형 자동화

시장에서 RPA 툴의 경쟁력을 유지하려면 작업 자동화를 넘어 지능형 자동화(IA)를 포함하도록 솔루션을 확장해야 합니다. 이러한 유형의 자동화는 머신 러닝, 자연어 처리, 컴퓨팅 비전 등과 같은 인공 지능의 하위 분야를 통합하여 RPA 기능을 확장합니다.  

지능형 프로세스 자동화는 RPA의 단순한 규칙 기반 시스템 이상을 요구합니다. RPA는 작업을 "수행"하는 것으로 간주하지만, AI와 ML은 각각 "사고"와 "학습" 이상을 포함합니다. 이 자동화는 소프트웨어가 더 빠르고 효율적인 방식으로 작업을 수행할 수 있도록 데이터를 사용하여 알고리즘을 훈련시킵니다.


RPA와 인공 지능

로보틱 프로세스 자동화를 인공 지능(AI)으로 오해하는 경우가 많지만, 두 기술은 분명히 다릅니다. AI는 코그너티브 자동화, 머신 러닝(ML), 자연어 처리(NLP), 추론, 가설 생성 및 분석을 결합합니다.

중요한 차이점은 RPA는 프로세스 중심인 반면 AI은 데이터 중심이라는 것입니다. RPA 봇은 최종 사용자가 정의한 프로세스만 따를 수 있는 반면, AI 봇은 머신 러닝을 사용하여 데이터, 특히 비정형 데이터의 패턴을 인식하고 지속적으로 학습합니다. 달리 말하면, AI는 인간의 지능을 시뮬레이션하도록 고안되었지만 RPA는 오로지 인간이 지시하는 작업을 복제하는 용도로 고안되었습니다. 인공 지능과 RPA 툴을 사용하면 사람의 개입이 최소화되지만, 프로세스를 자동화하는 방식은 서로 다릅니다. 

 

즉, RPA와 AI는 서로를 효과적으로 보완합니다. AI는 RPA가 작업을 보다 완벽하게 자동화하고 복잡한 사용 사례를 처리하도록 도울 수 있습니다. RPA는 또한 수동으로 구현되는 것을 기다리는 대신 AI 인사이트가 보다 신속하게 실행되도록 합니다.


RPA의 작동 원리

Forrester에 따르면 RPA 소프트웨어 툴에는 다음과 같은 핵심 기능이 포함되어야 합니다.

  1. 자동화 스크립트를 구축하는 로우코드 기능

  2. 엔터프라이즈 애플리케이션과의 통합

  3. 구성, 모니터링 및 보안을 포함한 오케스트레이션 및 관리

RPA와 같은 자동화 기술은 레거시 시스템을 통해 정보에 액세스할 수 있으며, 프론트엔드 통합을 통해 다른 애플리케이션과 잘 통합됩니다. 따라서 자동화 플랫폼은 인간 작업자와 유사하게 작동하여 시스템에 로그인하거나 한 시스템에서 다른 시스템으로 복사하는 등 일상적인 작업을 수행합니다. 데이터베이스 및 엔터프라이즈 웹 서비스에 대한 백엔드 연결도 자동화를 지원하지만 RPA의 진정한 가치는 빠르고 간단한 프론트엔드 통합에 있습니다.


RPA의 이점

  • 코딩 감소: RPA는 반드시 개발자가 구성할 필요가 없습니다. 사용자 인터페이스의 끌어서 놓기 기능을 사용하면 비기술 직원도 손쉽게 온보딩할 수 있습니다.

  • 빠른 비용 절감: RPA는 팀의 업무 부담을 줄여주기 때문에 인력 투입이 필요한 다른 우선순위 작업에 직원을 재배치할 수 있어 생산성과 ROI가 향상됩니다. 

  • 고객 만족도 향상: 봇과 챗봇은 24시간 작동할 수 있으므로 고객 대기 시간을 줄여 고객 만족도를 높일 수 있습니다.

  • 직원 사기 향상: RPA가 팀에서 반복적이고 대량의 업무 부담을 덜어주므로 직원들이 보다 신중하고 전략적인 의사결정에 집중할 수 있습니다. 이러한 업무 변화는 직원의 행복에 긍정적인 영향을 미칩니다.

  • 정확성 및 규정 준수 개선: RPA 로봇이 특정 워크플로우 및 규칙을 따르도록 프로그래밍할 수 있으므로 특히 정확성과 규제 표준과 같은 규정 준수가 필요한 작업에서 인적 오류를 줄일 수 있습니다. RPA는 또한 감사 추적을 제공하므로 진행 상황을 손쉽게 모니터링하고 문제를 보다 신속하게 해결할 수 있습니다.
     
  • 기존 시스템 계속 사용 로보틱 프로세스 자동화 소프트웨어는 봇이 기존 애플리케이션의 프레젠테이션 레이어에서 작동하기 때문에 기본 시스템을 중단시키지 않습니다. 따라서 애플리케이션 프로그래밍 인터페이스(API) 또는 심층 통합을 개발할 리소스가 없는 상황에서 봇을 구현할 수 있습니다.

RPA 사용 사례

 

은행 및 금융 서비스: "2023년까지 RPA 서비스 시장 규모가 약 120억 달러에 달할 것"이라고 예상한 Forrester 보고서에 따르면 모든 사용 사례 중 금융 및 회계 부문이 차지하는 비율이 36%였습니다. 오늘날 3개 봇 중 1개 이상이 금융 산업에서 사용되고 있으며, 이는 은행이 자동화를 조기에 채택한 것을 고려할 때 크게 놀랄 일이 아닙니다. 현재 많은 주요 은행은 RPA 자동화 솔루션을 사용하여 고객 조사, 계좌 개설, 조회 처리 및 자금 세탁 방지와 같은 작업을 자동화합니다. 한 은행은 대량의 수동 데이터 입력을 자동화하기 위해 수천 개의 봇을 배치합니다. 이러한 프로세스에는 자동화를 통해 간소화되는 규칙 기반의 일상적인 대량 작업이 수반됩니다.

 

보험 보험은 자동화에 매우 적합한 반복적인 프로세스로 가득 차 있습니다. 예를 들어 청구 처리 작업, 규정 준수, 정책 관리 및 계약 심사에 RPA를 적용할 수 있습니다.

 

소매 전자상거래의 부상으로 RPA는 백오피스 운영과 고객 경험을 개선한 현대 소매 산업의 필수 구성요소가 되었습니다. 많이 사용되는 애플리케이션에는 고객 관계 관리, 창고 및 주문 관리, 고객 피드백 처리 및 사기 탐지가 포함됩니다.

 

의료 정확성과 규정 준수는 의료 산업에서 가장 중요합니다. 세계 최대 규모의 병원 중 일부는 로보틱 프로세스 자동화 소프트웨어를 사용하여 정보 관리, 처방전 관리, 보험 청구 처리, 지불 주기 등을 최적화합니다.

728x90
반응형

'console.log("What ? " + Cord); > RPA' 카테고리의 다른 글

[RPA]Proj_엑셀에서 필요한 값 바꾸기  (0) 2023.09.01
[RPA]Proj_엑셀문서작업  (0) 2023.09.01

728x90

EAI는 (Enterprise Application Integration) 약자이다.

 

즉, 기업 내 필요한 여러 어플리케이션(채널)이 있을텐데 이런 각종 애플리케이션 간에 상호 연동이 가능하도록 통합하는 솔루션이라고 생각하면 된다.

 

◆ EAI는 왜 필요한가?

 

전통적인 비즈니스 환경에서 애플리케이션들은 별도의 비즈니스 단위 혹은 기능 내에서 서로 독립적으로 동작하고 사용하는 데이터를 잘 공유하지 않았다. 따라서 이러한 방식은 비즈니스 간의 상호연동이 쉽지 않고 많은 시간이 걸리며 오류가 발생하기 쉬웠다.

 

그러나 EAI를 통해 애플리케이션들을 통합하면 수동적인 개입 없이 비즈니스 프로세스가 더 빨리 실행되고 오류를 줄일 수 있다. 또한 다양한 애플리케이션의 서비스를 결합하여 더 정확한 최신 뷰를 제공할 수 있다. 

 

이처럼 EAI는 기존 비즈니스 환경을 개선하기 위해 등장하였다.

 

◆ EAI의 이점

 

EAI는 비즈니스에 다음과 같은 다양한 이점을 제공한다.

 

1. 비즈니스에서 기회에 더 빠르게 대응

EAI를 통해 비즈니스 프로세스가 자동화되어 다른 부분에 더 집중할 수 있게 된다. EAI에 대한 API 중심 및 이벤트 기반 접근 방식을 사용하면 특별한 기술 없이도 디지털 환경을 빠르게 연결 및 재연결 할 수 있어 비즈니스 효율성과 유연성을 모두 높일 수 있다.

 

 

2. 몰입적인 사용자경험 제공

EAI를 통해 고객에게 비즈니스의 힘을 제공할 수 있다. 고객을 위한 통합되고 생산성이 높은 디지털 환경에 다양한 애플리케이션을 통합할 수 있다. 이를 통해 고객 충성도를 높이고 새로운 유형의 서비스를 쉽게 제공할 수 있다.

 

3. 생산성 향상

 

비즈니스 조직 전반에 걸친 통합 플랫폼의 제한 없는 특성으로 인해 조직 내외부 모든 사용자가 기본 호스팅 플랫폼에 대한 기술적 기능이 없이도 필요한 데이터에 쉽게 접근할 수 있다. 또한 온프레미스(On-premise), 클라우드 등 어디에 배포되어 있든지 쉽게 접근할 수 있다. 

 

4. 새로운 기술로 쉽게 전환 가능

 

API 중심의 통합 및 이벤트 기반 아키텍처를 사용함으로써 시간이 지남에 따라 새로운 기술을 보다 쉽게 수용할 수 있다.

 

 

◆ EAI 접근방식

 

EAI 프로젝트를 성공적으로 수행하기 위해서는 다음과 같은 4가지 사항을 고려해야 한다.

 

Business Requirement

기업에서 EAI 시스템이 가져야할 요구사항이다. 어떤 시스템과 인터페이스를 할것인지, 거래에 대한 추적과 장애 처리를 어떻게 할것인지, 목표 성능은 어느정도 인지 그리고 어떤 시나리오에 따라 시스템들이 통신을 할것인지와 같이 EAI 시스템이 실제 가져야하는 기능적/비기능적 요구 사항들이다

 

Architecture

EAI가 모두 똑같은 설계와 아키텍쳐를 가지는 것은 아니다. 요구 사항에 따라서 아키텍쳐가 변경된다. 아키텍쳐는 EAI 시스템의 요구사항을 구현에 반영하는 중요한 청사진이 된다

 

Process

EAI 프로젝트의 가장 큰 특징중 하나는, EAI의 기본 목적이라는 게 다른 시스템과의 연동이기 때문에, 타 팀과의 커뮤니케이션이 매우 많다는 것이다. 인터페이스 연계에 대한 요건을 맞추고, 테스트를 하고 변경 사항을 반영해야 하는 일이 많고 인터페이스의 수도 보통 300~400개는 넘기 때문에,  인터페이스에 대한 연계 방식을 협의하고 개발 및 배포하는 프로세스를 관리하는 것이 중요하다

 

Development / Production Environment

마지막으로 개발 및 운영 환경에 대한 고려가 필요한데, 앞서 설명했듯이, 타팀과의 인터페이스가 중요하기 때문에 개발에서 완료된 인터페이스 EAI와 연동하는 시스템을 개발하는 팀이 자유롭게 사용할 수 있어야 한다. EAI 자체의 개발환경과 타 팀을 위한 개발 환경이 존재해야 하고, 특히나 대외거래(B2B)의 경우 물리적으로 폐쇄망 (X.25와 같이 기업과 기업을 연결하는 독립적인 회선)이 존재하기 때문에, 개발 및 운영 환경을 어떻게 설계하고 환경간의 이행을 어떻게 해야 하는 가에 대한 고려가 필요하게 된다

728x90
반응형
728x90

자바 개발 학원을 수료한지 이제 1주일이 지났다.

 

개발자로써의 꿈을 꾸고 주저없이 도전했지만 현실의 벽은 생각보다 높았다.

 

이력서를 100곳을 넘게 넣었지만 면접 볼 수 있는 곳은 4~5개 정도였고

 

그마저도 면접을 잘 봤다고 생각한 곳도 떨어졌다.

 

나는 이 길이 아닌가 라는 생각이 잠시 들기도 했다.

 

하지만 나는 이 길을 가겠다고 생각했기에 꺽이지 않고 가보려고 한다.

 

언제나 처음이 어렵지 시작하고 나면 누구보다 잘 할 자신이 있다.

 

지금의 상황을 돌파하기 위해서 어떤 것을 해야할까?

 

내가 이 상황에서 바꿀 수 없는 것을 빼고 내가 변화할 수 있는 것은 어떤게 있을까 ?

 

회사에서 바라는 신입은 어떤 퍼포먼스를 보이는 사람을 원할까?

 

면접을 겪으며 부족했던 부분들을 다듬고 이것저것 많은 것을 뽐내는 것보다 무언가 본인의 우직함과 문제해결 능력을 잘 보여주는 것이 훨씬 도움이 될 수 있다.

 

 

 

 

728x90
반응형

'console.log("What ? " + Cord); > POJECT_DAILY' 카테고리의 다른 글

[개발일기] 2024.02.02  (1) 2024.02.02
[개발일기] 2024.01.14  (0) 2024.01.14
[개발일기] 2024.01.11  (0) 2024.01.11
728x90

jQuery클라이언트 측 HTML 스크립팅을 간소화하기 위해 고안된 크로스 플랫폼 자바스크립트 라이브러리입니다.


1) HTML 문서 탐색

 

브라우저가 웹 페이지를 렌더링할 때 웹 페이지는 DOM(문서 객체 모델)이라는 시각적 표현이 됩니다.

이 모델은 개념적으로 루트와 리프가 있는 특정 노드로 구성된 트리 자료구조로 모델링될 수 있습니다.

 

예를 들어, Web Step Book에서 제공하는 그림 입니다.

 

 

jQuery를 이용하면 DOM의 내용을 쉽게 탐색함으로써 검색할 노드나 요소, 값에 접근하거나 찾을 수 있습니다.

 

즉, 고유 ID를 가진 div 요소의 텍스트를 찾고 있다면 다음과 같이 손쉽게 할 수 있습니다.

 

$( 'div#my-unique-element' ).hide();

span 요소를 모두 순회하는 경우에도 다음과 같이 처리할 수 있습니다.

$( 'span' ).each(function() {
    // Process the span element here 
});

2) HTML 문서 조작

 

이러한 함수 가운데 어떤 함수는 페이지가 로드될 때마다 표시되지 않는 요소를 표시(show)하거나 숨길(hide) 수 있게 하는 것과 같이 간단합니다.

 

또 어떤 함수는 새로운 요소를 생성하고 기존 요소 끝에 덧붙이거나(append) 전체 리스트 앞에 추가(prepend)할 수 있게 해줍니다.

 

class 속성을 추가하기 위해 모든 span 요소를 순회하려고 한다면 다음과 같이 할 수 있습니다.

$( 'span' ).each(function() {
    $( this ).addClass( 'my-custom-class' );
});

3) 이벤트 처리

 

즉, 사용자가 요소를 클릭하거나, 키 입력을 하거나, 마우스를 클릭하면 브라우저는 발생한 이벤트에 해당하는 신호를 발생시킵니다.

 

이를 통해 사용자와 브라우저의 상호작용을 이용할 수 있습니다.

 


jQuery 장점 

◆ 문법의 간결성 = js의 문법을 단순화하고 축약된 형태로 제공하여 가독성을 향상시킨다.

 

◆ 크로스 브라우징 = 다양한 브라우저에서 일관된 동작을 제공하므로 크로스 브라우징에 대한 문제 해결

 

◆ DOM 조작의 편의성 = 다양한 메서드를 제공하여 개발자가 간편하게 DOM 조작을 수행 가능하다.

 

◆ Ajax 처리의 용이성 = 비동기 통신을 쉽게 처리할 수 있다.

 

◆ 풍부한 플러그인 생태계 = 다양한 플러그인이 개발되어 다양한 기능을 추가할 수 있다.

 

jQuery 단점 

◆ 성능 저하 = 라이브러리 파일을 로드해야 하므로 초기 페이지 로딩 시간이 느려질 수 있다.

728x90
반응형
728x90

웹 어플리케이션은 기본적으로 

1. 클라이언트(브라우저)로부터의 request

2. 서버에서 request 처리

3. 서버에서 처리 결과 response

4. 클라이언트(브라우저)가 받은 response의 데이터를 브라우징(사용자에게 보여주는 것)

 

4단계로 동작한다.

 

JSP는 그 자체로 정적인 HTML 코드에 자바코드를 넣어, 동적 웹페이지를 생성할 수 있는 도구이며, 따라서 이 과정에서 아주 유용한 언어이다.

 

 


JSP 내장 객체(기본 객체)

 

1) 입출력 관련 객체

 

◆ request = 요청 하나 당 하나가 생성된다. 클라이언트로부터 요청이 오면 요청 정보를 저장하기 위함. 요청이 오면 생성, 응답을 하면 바로 없어짐.

 

◆ response = 클라이언트에게 응답할 내용을 처리하는 객체. sendRedirect() 메서드로 페이지를 이동시키는 기능을 자주 사용한다.

 

◆ out = 처리 결과를 브라우저로 출력하기 위한 기본 출력 객체.

 

2) 서블릿 관련 객체

 

◆ page = JSP 페이지 자체를 의미 (Java class의 this. 와 같은 의미)

 

◆ config = JSP 페이지에서 사용하는 초기 파라미터를 저장하고 있는 객체

 

3) 외부 환경 정보를 제공하는 객체

 

◆ session

= 브라우저 하나당 하나가 생성되며 Session ID 값을 만들어 브라우저들을 식별함.

= 브라우저가 웹 서비스를 이용하는 동안 유지하고 있어야 하는 값을 저장(로그인 상태유지 등)

 

◆ application

= 웹 어플리케이션 하나당 하나씩 존재. 서비스가 종료될 때까지 하나씩 존재한다.

= 웹 어플리케이션 전체 영역에서 사용할 수 있는 파라미터를 저장하는 용도로 사용(초기화 파라미터, 서버정보 등 불러오기)

 

◆ pageContext

= JSP페이지 하나당 하나 생성. JSP 페이지에서 다른 기본 객체에 접근할 수 있는 메서드를 제공한다.

(흐름제어 가능(include, forward 메서드)

 

4) 예외 관련 객체

◆ exception = JSP 페이지에서 발생한 예외를 처리할 때 사용

(Page Directive 에서 isErrorPage = true 여야 사용 가능하다.)


JSP 기본 객체의 영역

 

1. Page 영역 = 하나의 JSP 페이지를 처리할 때 사용되는 영역 - pageContext.getAttribute("name")하고 forward로 secondPage로 보내면, 콘솔에는 속성값이 출력되지만 브라우저에는 출력되지 않음.

 

2. Request 영역 = 하나의 HTTP 요청을 처리할 때 사용 (처리하는 데 사용되는 모든 JSP 페이지 포함)

 

3. Session 영역 = 하나의 웹브라우저와 관련된 영역

 

4. Application 영역 = 하나의 웹 어플리케이션과 관련된 영역(모든 JSP 페이지, 모든 요청, 모든 브라우저 세션)

728x90
반응형

'console.log("What ? " + Cord); > Java' 카테고리의 다른 글

[JSP] JSP (JavaServer Pages) 란 무엇일까?  (0) 2023.06.24
[JAVA]자바란 무엇일까?  (0) 2023.06.24
<Java> JDBC에 대해서 개념 공부  (0) 2023.02.21
<Git>PrintMe.java  (0) 2023.02.05
<Git>PlusMinus02.java  (0) 2023.02.05
728x90

JSP (JavaServer Pages)

 

- HTML 코드에 JAVA 코드를 넣어 동적웹페이지를 생성하는 웹어플리케이션 도구이다.

 

JSP가 실행되면 자바 서블릿(Servlet)으로 변환되며 웹 어플리케이션 서버에서 동작되면서 필요한 기능을 수행하고 그렇게 생성된 데이터를 웹페이지와 함께 클라이언트로 응답한다.

 

 

웹 서버가 사용자로부터 서블릿에 대한 요청을 받으면 서블릿 컨테이너에 그 요청을 넘김 -> 요청을 받은 컨테이너는 HTTP Request와 HTTP Response 객체를 만들어, 이들을 통해 서블릿 doPost()나 doGet() 메소드 중 하나를 호출한다.

만약 서블릿만 사용하여 사용자가 요청한 웹 페이지를 보여주려면 out 객체의 println 메소드를 사용하여 HTML 문서를 작성해야 하는데 이는 추가/수정을 어렵게 하고, 가독성도 떨어지기 때문에 JSP를 사용하여 비지니스 로직과 프레젠테이션 로직을 분리한다.

 

여기서 서블릿은 데이터의 입력, 수정 등에 대한 제어를 JSP에게 넘겨서 프레젠테이션 로직을 수행한 후 컨테이너에게 Response를 전달, 이렇게 만들어진 결과물은 사용자가 해당 페이지를 요청하면 컴파일이 되어 자바파일을 통해 .class 파일이 만들어지고, 두 로직이 결합되어 클래스화 되는 것을 확인 할 수 있다. 즉, out 객체의 println 메소드를 사용해서 구현해야하는 번거로움을 JSP가 대신 수행해준다.


cf) 기본 개념 Plus ++

 

◆ 웹(web)

웹이란 인터넷 기반의 정보기술로 World Wide Web 의 줄임말로 쓰이며 WWW 라고도 한다.

전세계에 거대한 네트워크 망을 통해 정보를 공유하며 정보의 흐름은 양방향성을 가진다.

 

웹어플리케이션(Web Application)

웹어플리케이션은 웹에서 실행되는 응용프로그램을 뜻하며 인터넷을 통한 은행업무, 인터넷쇼핑, 등등 인터넷에서 하는 여러 서비스를 총칭

하며 사용자가 필요한 요청(Request) 를 하고 서버에서는 이에 해당하는 요청을 수행하고 그리고 요청한 데이터를 응답(Response) 한다.

 

◆ 웹 브라우저(Web Browser)

 - 클라이언트에서 요청을 하고 전달받은 페이지를 볼수있는 환경을 말한다.  ( 크롬, IE, Safari, Firefox 등.. )

 

◆ 웹 서버(Web Server) 

- 클라이언트로 부터 요청받아 서버에 저장된 리소스를 클라이언트 에게 전달한다. 주로 정적컨텐츠롤 담당한다.

 

◆ 웹 어플리케이션 서버 ( Web Application Server )

- 줄여서 was 라고도 부르며 서버단에서 필요한 기능을 수행하고 그결과를 웹서버에게 전달한다.

 

◆ 데이터베이스

- 서비스에 필요한 데이터를 보관, 갱신 등 관리를 한다.

 


참고)

https://yn971106.tistory.com/23

 

https://javacpro.tistory.com/43

728x90
반응형

'console.log("What ? " + Cord); > Java' 카테고리의 다른 글

[JSP] JSP기본 개념 및 객체  (0) 2023.06.27
[JAVA]자바란 무엇일까?  (0) 2023.06.24
<Java> JDBC에 대해서 개념 공부  (0) 2023.02.21
<Git>PrintMe.java  (0) 2023.02.05
<Git>PlusMinus02.java  (0) 2023.02.05

+ Recent posts

728x90
반응형
728x90
반응형