Apa perbedaan antara logika bisnis dan aplikasi? [Tutup]


11

Harap dicatat bahwa saya menanyakan pertanyaan yang sama pada stackoverflow tetapi mereka mengarahkan saya untuk bertanya di sini.

Sementara saya mencoba untuk membedakan perbedaan antara logika aplikasi dan logika bisnis, saya telah menemukan set artikel tetapi sayangnya ada kontradiksi di antara mereka.

Di sini mereka mengatakan bahwa mereka sama tetapi jawabannya di sini sangat berbeda.

Bagi saya, saya memahaminya dengan cara berikut:

Jika kita mencari definisi Logickata di Google yang akan kita dapatkan

sistem atau serangkaian prinsip yang mendasari pengaturan unsur-unsur dalam komputer atau perangkat elektronik sehingga dapat melakukan tugas yang ditentukan.

Jadi jika logikanya set of principles underlying the arrangements of elementsmaka logika bisnis seharusnya set of principles underlying the arrangements of the business rules, dengan kata lain itu berarti aturan yang harus diikuti untuk mendapatkan sistem mencerminkan kebutuhan bisnis Anda.

Dan bagi saya logika aplikasi adalah the principles that the application based on, dengan kata lain, bagaimana menerapkan aturan-aturan ini untuk mendapatkan sistem yang mencerminkan kebutuhan bisnis Anda, misalnya apakah saya harus menggunakan MVC atau tidak saya harus gunakan ?, haruskah saya menggunakan SQL atau MSSQl ?.

Jadi tolong ada yang bisa membantu saya untuk menghilangkan kebingungan tentang perbedaan antara aplikasi dan logika bisnis.


3
Jawaban di bawah tautan SO kedua ( stackoverflow.com/questions/1456425/… ) yang Anda berikan benar dan komprehensif. Singkatnya, mereka mengatakan "Logika bisnis" adalah bagian dari "Logika aplikasi".
Doc Brown

2
... dan tautan ensiklopedia2 yang Anda berikan memberi tahu IMHO hal yang sama, jadi di mana masalahnya?
Doc Brown

1
... dan karena Anda memutuskan untuk tidak menambahkan klarifikasi apa pun, saya memberikan suara untuk ditutup sebagai "tidak jelas apa yang Anda minta":
Doc Brown

@DocBrown, saya telah mengedit judul pertanyaan dan paragraf terakhir dalam pertanyaan, tetapi saya pikir sudah jelas apa yang saya inginkan dan saya mendapat jawabannya !! sudahkah kamu membaca pertanyaan ??
Mo Haidar

Jawaban:


13

Saya setuju dengan SO's LoztInSpace bahwa ini adalah jawaban yang cukup banyak pendapat dan bahwa setiap orang dapat memiliki definisi yang sedikit berbeda. Terutama jika pengaruh sejarah terlibat. Beginilah cara saya mendefinisikan istilah:

Logika bisnis adalah logika, yang dibuat dengan kolaborasi dan persetujuan dengan para pakar bisnis. Jika pakar bisnis mengatakan bahwa "Pelanggan tidak dapat menarik lebih banyak uang daripada yang ada di akunnya.", Maka ini adalah aturan bisnis. Di dunia ideal, logika ini akan berada di semacam perpustakaan atau layanan, sehingga dapat digunakan kembali di beberapa aplikasi atau diubah di semua aplikasi yang relevan sekaligus.

Logika aplikasi hanyalah segalanya. Contohnya bisa "mengklik tombol ini membuka jendela untuk menambah pelanggan baru". Ini tidak ada hubungannya dengan bisnis, tetapi masih logika yang perlu diimplementasikan. Dalam dunia ideal, logika aplikasi akan menggunakan perpustakaan atau layanan, yaitu menerapkan aturan bisnis. Beberapa aplikasi, masing-masing dengan logika aplikasi yang berbeda, dapat menggunakan kembali satu logika bisnis. Bayangkan aplikasi web, layanan web, dan aplikasi seluler semuanya beroperasi menggunakan satu logika bisnis, tetapi masing-masing jelas membutuhkan logika aplikasi yang berbeda.

Alasan mengapa saya pikir keduanya terlibat, adalah karena menjaga mereka terpisah sangat sulit. Bahkan jika Anda melakukan yang terbaik untuk membuatnya terpisah, gunakan permukaan kasing di mana Anda harus mencampurnya. Jika misalnya Anda memiliki semua logika bisnis Anda dalam layanan, itu membuatnya terpisah. Tetapi memiliki beberapa logika bisnis dalam aplikasi lokal yang menggunakan layanan dapat meningkatkan respons atau kenyamanan pengguna, karena aplikasi lokal tidak perlu memanggil layanan untuk setiap perubahan kecil.

Alasan lain mengapa mereka dicampur bersama adalah bahwa bagi banyak orang non-teknis. UI adalah "aplikasi", jadi apa pun yang tercermin dalam UI itu penting. Dalam kasus "logika bisnis" yang ideal, tidak ada UI. Mungkin akan ada serangkaian tes otomatis untuk memverifikasi logika, tetapi tidak ada yang dapat ditampilkan kepada orang-orang bisnis. Jadi bagi para pebisnis, semuanya adalah "logika" yang sama. IMO.


1
"Logika aplikasi hanyalah segalanya" - untuk menjadi seluk, saya akan mengatakan "itu termasuk logika bisnis dan segala sesuatu yang lain" (tetapi mungkin tergantung pada siapa Anda berbicara)
Doc Brown

3

Seperti yang telah ditunjukkan orang lain, istilah-istilah ini tidak memiliki satu makna yang diterima secara universal. Saya akan menjelaskan definisi yang saya temui lebih sering, yaitu dalam beberapa proyek dengan perusahaan yang berbeda.

The logika bisnis mendefinisikan normalisasi, model umum-tujuan dari domain bisnis yang aplikasi ditulis, misalnya

  • Kelas seperti Customer, Order, OrderLine, dan asosiasi seperti customer-order, dan sebagainya.
  • Operasi untuk tujuan umum seperti registerCustomer,cancelOrder

Sangat sering model kelas ini dipetakan ke model database dan pemetaan diimplementasikan menggunakan ORM. Operasi biasanya dilakukan masing-masing dalam transaksi mereka sendiri dan menyediakan API dasar untuk memodifikasi database, yaitu keadaan aplikasi yang persisten.

The logika aplikasi adalah lapisan yang dibangun di atas logika bisnis dan berfungsi untuk menerapkan kasus penggunaan tertentu. Modul logika aplikasi dapat menggunakan representasi data ad-hoc, misalnya kelas CustomerSummary tanpa asosiasi apa pun Orderjika Anda hanya ingin mendaftar pelanggan. Representasi data ad-hoc tersebut harus dipetakan ke representasi yang dinormalisasi yang disediakan oleh model bisnis. Misalnya, CustomerSummarydapat didefinisikan sebagai tampilan di atas Customer.

Perhatikan bahwa batas antara dua lapisan mungkin tidak begitu jelas. Misalnya setelah menerapkan beberapa kasus penggunaan seseorang mungkin melihat struktur data yang serupa dalam logika aplikasi dan memutuskan untuk menyatukan (menormalkan) mereka dan memindahkannya ke logika bisnis.


3

Setiap sistem atau aplikasi akan memiliki definisi sendiri tentang apa itu logika bisnis dan apa itu logika aplikasi. Entah akan eksplisit atau implisit.

Dalam pengalaman saya aplikasi yang digerakkan oleh data (mis. DB dll.) Cenderung memiliki definisi yang lebih formal tentang apa itu logika bisnis.

Logika aplikasi cenderung berfokus pada mendapatkan informasi dari titik A ke titik B, logika bisnis berpusat di sekitar informasi itu - dan bahasa logika bisnis biasanya khusus untuk domain. Dengan kata lain, logika aplikasi difokuskan pada pertanyaan "bagaimana cara kerjanya?", Logika bisnis pada "apa fungsinya?" - Sekali lagi, perbedaannya bisa sangat kabur dan lebih sering tidak spesifik domain.


1

Na, mereka hanya istilah yang berbeda untuk hal yang sama - "tingkat menengah" dari kode program yang melakukan hal-hal yang Anda ingin program Anda lakukan. Seperti banyak hal dalam perangkat lunak, tidak ada istilah keras dan cepat untuk bagian-bagian dari suatu sistem, karena tidak ada definisi formal tunggal untuk membangun sistem.

Jadi kadang-kadang orang akan menyebutnya logika bisnis, logika aplikasi lain, orang lain akan menyebutnya logika program, semuanya jauh dari banyak. Jangan repot-repot mencoba mendefinisikan ini dengan kaku, hampir setiap sistem berbeda dalam hal pembuatannya, jadi senang hanya ada sedikit ketidakjelasan dalam terminologi!

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.