GUI POS 시스템에 대한 데이터베이스, 프로그래밍 언어/프레임워크 제안이 있는 사람이 있습니까?

StackOverflow https://stackoverflow.com/questions/191934

문제

우리 회사는 주문 및 수령 기능, 판매 및 주문 내역 등과 같은 많은 추가 기능을 갖춘 POS 시스템을 갖추고 있습니다.우리의 가장 큰 문제는 시스템이 처음부터 제대로 설계되지 않았기 때문에 수정하고 고객의 요청을 처리하는 데 너무 오랜 시간이 걸린다는 것입니다.또한 현재 우리가 사용하고 있는 기술(Progress 데이터베이스, 언어용 Progress 4GL)은 데이터베이스 연결에 대한 다중 사용자 라이센스 비용 등으로 인해 고객에게 상당한 라이센스 비용을 발생시킵니다.

많은 논의 끝에 (적어도 당분간은 현재 제품을 유지하면서) 처음부터 다시 시작할 것으로 보입니다.우리는 몇 가지를 찾고 있습니다:

  1. 멋진 GUI 프런트 엔드로 시스템을 만듭니다. (현재는 CHUI이고 애플리케이션은 프런트 엔드를 재설계할 수 있는 방식으로 구축되지 않았습니다...비즈니스 로직과 GUI의 레이어링이나 분리가 없습니다.

  2. 제품에 모든 기능이 포함될 필요가 없도록 다양한 기능을 모듈화할 수 있는 시스템을 만듭니다.이를 통해 기본 기능과 저렴한 가격을 원하는 현재 고객의 비용을 낮출 수 있습니다.종소리와 휘파람은 원하는 사람들에게 제공됩니다.

  3. 제품에 언제든지 부품을 쉽게 추가하거나 변경할 수 있도록 적절한 디자인 패턴을 사용하십시오(예:애플리케이션이나 대부분을 다시 작성할 필요 없이 데이터베이스를 변경하거나 프런트 엔드를 변경할 수 있습니다.Progress 4GL 코드가 데이터베이스에 대해 직접 컴파일되기 때문에 이것이 오늘날 문제가 됩니다.데이터베이스의 작은 변경에는 많은 코드 재컴파일이 필요합니다.

우리의 새로운 시스템은 Linux 기반이 될 것이며 클라이언트 애플리케이션이 하나 이상의 Windows 상자에서 기능을 제공할 가능성이 있습니다.

그래서 제가 찾고 있는 것은 누군가가 이러한 종류의 제품에 대해 추천할 수 있는 데이터베이스 및/또는 프레임워크 또는 프로그래밍 언어에 대한 제안입니다.이 분야에 경험이 있는 사람이라면 누구나 우리에게 올바른 방향을 제시해 줄 수 있거나 무엇을 피해야 할지에 대한 아이디어를 갖고 있을 수도 있습니다.우리는 .NET과 SQL Express(엔터프라이즈 수준의 DB는 필요하지 않음)를 고려했지만 그렇게 하면 Windows로만 제한됩니다(어차피 내가 아는 한).Linux 환경에서 .NET 코드를 작성하기 위한 Mono에 대해 들어본 적이 있지만 아직 이에 대해 아는 바는 많지 않습니다.또한 Java 및 MySql 기반 구현도 고려했습니다.

요약하면 다음과 같은 작업을 수행하려고 합니다.

  1. 제품 개발에 사용할 기술에 대한 라이센스 비용을 낮게 유지하세요(Oracle, 이런!MySQL, 좋네요.)

  2. 쉽게 유지 관리하고 지원할 수 있는 솔루션을 제공합니다.

  3. CHUI 프런트 엔드를 통해 "오래된" 하드웨어에서 실행할 수 있는 구성 요소가 포함된 솔루션입니다.(일부 고객은 40개 이상의 터미널을 보유하고 있으며 이는 PC로 전환하기 위해 엄청난 현금이 소요됩니다).

제안해 주시면 감사하겠습니다.

감사해요

업데이트] 현재 총 비용 분석을 수행하고 있습니다.이 질문은 분석에 포함하거나 분석할 수 있는 몇 가지 "교육된" 옵션을 제공하기 위한 것입니다.클라이언트/서버 설정에 대한 경험/제안을 공유할 수 있는 사람이라면 누구나 감사하겠습니다(POS 시스템에 대한 경험이 있는 사람뿐만 아니라...).그것은 단지 보너스일 뿐입니다).

[업데이트]

관심이 있는 분들을 위해 우리는 결국 Microsoft Dynamics NAV, LS Retail(판매 시점 및 기타 다양한 기능을 위한 플러그인)을 사용하게 되었고 그 위에 몇 가지 사용자 지정 작업을 수행했습니다(현재 작업 중).이 설정은 현재 시스템에는 부족했던 완전히 통합된 g/l 시스템을 갖는 추가적인 이점을 제공했습니다.

도움이 되었습니까?

해결책

먼저 제약 조건을 좀 더 조사할 것을 제안합니다. 특정 유형의 터미널을 사용하여 클라이언트에 대한 전달 참조를 만들었습니다. 클라이언트가 업그레이드에 동의하지 않는 한 옵션이 제한될 수 있습니다.

이에 대해 더 많은 노력을 기울여야 합니다.웹 포럼에서 의견을 얻는 것은 좋지만 우리도 귀하의 환경을 귀하만큼 잘 알 수는 없습니다.

저의 폭넓은 조언은 널리 사용되는 기술을 목표로 삼으라는 것입니다.이렇게 하면 플랫폼에 대한 전문 지식이 "틈새" 기술보다 저렴하며, 난관에 부딪혔을 때 도움을 받기가 더 쉬울 것입니다.물론 고객이 이미 협상할 수 없는 기술을 보유하고 있다면 이 조언을 따르는 것이 불가능할 수도 있습니다.

두 번째 제안은 "처음부터 다시 작성" 옵션을 사용하기 전에 자세한 사양과 적절한 비용 견적을 포함하여 전체 프로젝트 계획을 완료하는 것입니다.지금 당장은 시스템을 유지하는 것보다 시스템을 다시 작성하는 것이 더 저렴할 것이라고 말하고 있으며, 다시 작성하는 데 드는 비용이 얼마나 될지는 실제로 알지 못합니다.

다른 팁

언어용 Java(또는 지원 계획과 개발자의 성향에 따라 "최첨단"이 되고 싶다면 Scala가 더 좋을 수도 있고 더 나쁠 수도 있음)

데이터베이스용 H2

GUI용 스윙

이유:무료이고 휴대 가능하며 꽤 표준적입니다.

업데이트:시스템이 클라이언트-서버 설정이어야 하는 부분을 놓쳤습니다.내 가정은 데이터베이스와 클라이언트가 동일한 시스템에서 실행되어야 한다는 것이었습니다.

UI에는 브라우저를 사용하는 것이 좋습니다.

애플리케이션을 웹 애플리케이션으로 구성합니다.

백엔드에는 수많은 옵션이 있습니다.Java + MySQL을 사용할 수 있습니다.Java 백엔드는 두 플랫폼 모두에서 실행되므로 Windows/Linux 논쟁에서 여러분을 구해줄 것입니다.Java와 MySQL 모두에 대한 라이센스 비용이 없습니다.(편집하다:확실히 PHP, Ruby, Python 등을 포함하여 Linux와 Windows 모두에 대한 런타임을 갖춘 다른 언어가 많이 있습니다.)

이 경로를 택한다면 모듈식 방식으로 브라우저 기반 프런트엔드를 생성하기 위해 Google Web Toolkit(GWT)을 고려할 수도 있습니다.

하지만 한 가지 주의할 점이 있습니다.메모리 관리와 관련하여 브라우저는 성가실 수 있습니다.우리의 경험에 따르면 이는 브라우저 기반 POS를 수행하는 데 있어 가장 중요한 과제였습니다. 브라우저에서 실행되지만 메모리 관리에 있어서는 좀 더 정중한 Adobe Flex를 확인하고 싶을 수도 있습니다.

추이란 무엇인가요?VT 터미널과 같은 캐릭터 UI?아니면 3270 스타일인가요?

데이터베이스 백엔드, 대부분의 백엔드 비즈니스 프로세스를 실행하는 중간 계층, CHUI/GUI/데이터 게이트웨이를 위한 프런트엔드 계층 등 3계층 시스템이 필요한 것 같습니다.

세 계층 모두 하나의 시스템에 상주할 수 있습니다.또는 계층을 다양한 서버에 배포할 수 있습니다.프런트엔드 계층은 VT 터미널, 웹 브라우저, 사용자 정의된 '클라이언트' 애플리케이션 등 실제 터미널을 제어합니다.

여기에서 하드웨어 요구 사항을 고려했는지 확인하세요. 바코드 스캐너, 현금 서랍기, POS 직불/신용 단말기 등을 사용할 예정입니까?표준 브라우저를 사용하는 경우 해당 항목을 안정적으로 통합하기 어려울 수 있습니다.(적어도 이를 처리하려면 특별한 애플릿을 작성해야 할 것입니다.)

마지막으로 Windows에서 씬 클라이언트 기술의 가능성을 고려해보세요.중앙에서 소프트웨어만 업그레이드하면 되므로 시스템 관리가 크게 단순화됩니다.씬 클라이언트 PC는 가격이 200달러 미만으로 저렴합니다.

Golden Code Development(www.goldencode.com 참조)는 Progress 4GL(스키마 및 코드...전체 애플리케이션)을 관계형 데이터베이스 백엔드가 있는 Java 애플리케이션(예:PostgreSQL).그들은 현재 매우 완벽한 CHUI 환경을 지원하고 코드를 리팩터링합니다.예를 들어 변환은 UI, 데이터 모델 및 비즈니스 로직을 별도의 Java 클래스로 분리합니다.전체 결과는 원본과 호환되는 드롭인 교체입니다(사용자는 재교육이 필요 없고 프로세스를 수정할 필요가 없으며 데이터도 마이그레이션됩니다).이는 해당 호환성을 제공하는 애플리케이션 서버와 런타임 클래스 세트를 제공하기 때문에 가능합니다.자동 변환의 결과는 컴파일하고 실행하기 전에 추가 편집이 필요한 것이 아닙니다.실제 터미널 지원이 포함되어 하드웨어 터미널이 계속 작동합니다(Java에서 NCURSES에 액세스하려면 작은 JNI 라이브러리가 필요함).런타임의 나머지 코드는 모두 순수 Java입니다.No Progress Software Corp 기술은 결과 시스템에 사용되며 Linux에서 실행됩니다.

변환된 시스템 중 하나 이상이 이미 생산 중이며 24x7 미션 크리티컬 환경을 실행하고 있습니다.이는 중간 규모의 파일럿 고객이 전체 비즈니스를 운영하는 데 사용하는 변환된 ERP 시스템입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top