Pages

Thursday, January 6, 2011

Can You Really Create A Business Logic Layer?

The past three posts of this little mini-series have gone from a Working definition of business logic to a Rigorous definition of business logic and on to some theorems about business logic. To wrap things up, I'd like to ask the question, is it possible to isolate business logic into a single tier?

Related Reading

There are plenty of opinions out there. For a pretty thorough explanation of how to put everything into the DBMS, check out Toon Koppelaar's description. Mr. Koppelaars has some good material, but you do need to read through his earlier posts to get the definitions of some of his terms. You can also follow his links through to some high quality discussions elsewhere.

Contrasting Mr. Koppelaar's opinion is a piece which does not have nearly the same impact, IMHO, because in Dude, Where's My Business Logic? we get some solid history mixed with normative assertions based on either anecdote or nothing at all. I'm a big believer in anecdote, but when I read a sentence that says, "The database should not have any knowledge of what a customer is, but only of the elements that are used to store a customer." then I figure I'm dealing with somebody who needs to see a bit more of the world.

Starting At the Top: The User Interface

First, let's review that our rigorous definition of business logic includes schema (types and constraints), derived values (timestamps, userstamps, calculations, histories), non-algorithmic compound operations (like batch billing) and algorithmic compound operations, those that require looping in their code. This encompasses everything we might do from the simplest passive things like a constraint that prevents discounts from being over 100% to the most complex hours-long business process, along with everything in between accounted for.

Now I want to start out by using that definition to see a little bit about what is going on in the User Interface. This is not the presentation layer as it is often called but the interaction layer and even the command layer.

Consider an admin interface to a database, where the user is entering or modifying prices for the price list. Now, if the user could enter "Kim Stanley Robinson" as the price, that would be kind of silly, so of course the numeric inputs only allow numeric values. Same goes for dates.

So the foundation of usability for a UI is at very least knowlege of and enforcement of types in the UI layer. Don't be scared off that I am claiming the UI is enforcing anything, we'll get to that a little lower down.

Now consider the case where the user is typing in a discount rate for this or that, and a discount is not allowed to be over 100%. The UI really ought to enforce this, otherwise the user's time is wasted when she enters an invalid value, finishes the entire form, and only then gets an error when she tries to save. In the database world we call this a constraint, so the UI needs to know about constraints to better serve the user.

Now this same user is typing a form where there is an entry for US State. The allowed values are in a table in the database, and it would be nice if the user had a drop-down list, and one that was auto-suggesting as the user typed. Of course the easiest way to do something like this is just make sure the UI form "knows" that this field is a foreign key to the STATES table, so it can generate the list using some generic library function that grabs a couple of columns out of the STATES table. Of course, this kind of lookup thing will be happening all over the place, so it would work well if the UI knew about and enforced foreign keys during entry.

And I suppose the user might at some point be entering a purchase order. The purchase order is automatically stamped with today's date. The user might see it, but not be able to change it, so now our UI knows about system-generated values.

Is this user allowed to delete a customer? If not, the button should either be grayed out or not be there at all. The UI needs to know about and enforce some security.

More About Knowing and Enforcing

So in fact the UI layer not only knows the logic but is enforcing it. It is enforcing it for two reasons, to improve the user experience with date pickers, lists, and so forth, and to prevent the user from entering invalid data and wasting round trips.

And yet, because we cannot trust what comes in to the web server over the wire, we have to enforce every single rule a second time when we commit the data.

You usually do not hear people say that the UI enforces business logic. They usually say the opposite. But the UI does enforce business logic. The problem is, everything the UI enforces has to be enforced again. That may be why we often overlook the fact that it is doing so.

The Application and The Database

Now let's go through the stuff the UI is enforcing, and see what happens in the application and the database.

With respect to type, a strongly typed language will throw an error if the type is wrong, and a weakly typed language is wise to put in a type check anyway. The the DBMS is going to only allow correctly typed values, so, including the UI, type is enforced three times.

With respect to lookups like US state, in a SQL database we always let the server do that with a foreign key, if we know what is good for us. That makes double enforcement for lookups.

So we can see where this is going. As we look at constraints and security and anything else that must be right, we find it will be enforced at least twice, and as much as three times.

You Cannot Isolate What Must be Duplicated

By defining First Order Business Logic, the simplest foundation layer, as including things like types and keys and constraints, we find that the enforcement of this First Order stuff is done 2 or 3 times, but never only once.

This more or less leaves in tatters the idea of a "Business Logic Layer" that is in any way capable of handling all business logic all by its lonesome. The UI layer is completely useless unless it is also enforcing as much logic as possible, and even when we leave the Database Server as the final enforcer of First Order Business Logic (types, constraints, keys), it is still often good engineering to do some checks to prevent expensive wasted trips to the server.

So we are wasting time if we sit around trying to figure out how to get the Business Logic "where it belongs", because it "belongs" in at least two places and sometimes three. Herding the cats into a single pen is a fool's errand, it is at once unnecessary, undesirable, and impossible.

Update: Regular reader Dean Thrasher of Infovark summarizes most of what I'm saying here using an apt industry standard term: Business Logic is a cross-cutting concern.

Some Real Questions

Only when we have smashed the concept that Business Logic can exist in serene isolation in its own layer can we start to ask the questions that would actually speed up development and make for better engineering.

Freed of the illusion of a separate layer, when we look at the higher Third and Fourth Order Business Logic, which always require coding, we can decide where they go based either on engineering or the availability of qualified programmers in particular technologies, but we should not make the mistake of believing they are going where they go because the gods would have it so.

But the real pressing question if we are seeking to create efficient manageable large systems is this: how we distribute the same business logic into 2 or 3 (or more) different places so that it is enforced consistently everywhere. Because a smaller code base is always easier to manage than a large one, and because configuration is always easier than coding, this comes down to meta-data, or if you prefer, a data dictionary. That's the trick that always worked for me.

Is This Only A Matter of Definitions?

Anybody who disagrees with the thesis here has only to say, "Ken, those things are not business logic just because you wrote a blog that says they are. In my world business logic is about code baby!" Well sure, have it your way. After all, the nice thing about definitions is that we can all pick the ones we like.

But these definitions, the theorems I derived on Tuesday, and the multiple-enforcement thesis presented here today should make sense to anbyody struggling with where to put the business logic. That struggle and its frustrations come from the mistake of imposing abstract conceptual responsibilities on each tier instead of using the tiers as each is able to get the job done. Databases are wonderful for type, entity integrity (uniqueness), referential integrity, ACID compliance, and many other things. Use them! Code is often better when the problem at hand cannot be solved with a combination of keys and constraints (Fourth Order Business Logic), but even that code can be put into the DB or in the application.

So beware of paradigms that assign responsibility without compromise to this or that tier. It cannot be done. Don't be afraid to use code for doing things that require structured imperative step-wise operations, and don't be afraid to use the database for what it is good for, and leave the arguments about "where everything belongs" to those with too much time on their hands.

158 comments:

  1. Great article, Ken.

    I've been tripped up by "business logic consolidation" meme in numerous projects. It ranks a close second to "creating a security layer" in the annals of flawed systems thinking. Both business logic and security are cross-cutting concerns.

    The software industry has slowly moved to a defense-in-depth approach to security, since imposing many security checks at various levels in the code creates a far more defensible system. Perhaps we will belatedly embrace the idea that knowledge and enforcement of business logic is the job of every component of a software application.

    After all, you'd never want to say to a client, "we've consolidated all the business logic in this layer here, allowing the rest of the application to be as illogical as we want."

    ReplyDelete
  2. @Dean:

    "we've consolidated all the business logic in this layer here, allowing the rest of the application to be as illogical as we want."

    ROFLMAO. Had to take a break and get some coffee to calm down.

    Also, I'm putting in a short update, check it out.

    ReplyDelete
  3. I tend to refer to business logic as being a projection of requirements across the system. The important thing isn't that they are cross-cutting, but rather that they are defined in one place, so that we can have a single source of truth about the enterprise.

    ReplyDelete
  4. Ken, you said perfectly: "the nice thing about definitions is that we can all pick the ones we like". But I have to say: "In my world business logic is about code baby!"
    Nice post, thanks Ken

    ReplyDelete
  5. pengobatan penyakit glaukoma secara alami tanpa operasi

    Obat Herbal Glaukoma

    ReplyDelete
  6. your post is very interesting
    thank you for sharing
    i really liked

    Obat Herbal TBC

    ReplyDelete
  7. Its a useful information
    A well-managed email database is by far the best way to boost sales without risking budget waste because it appeals to consumers who have already opted in to receive marketing information from you. Germany Mailing Lists

    ReplyDelete
  8. """Tunjukan Cara Bermainmu Hanya di www.mgmpoker88.com memberi Promo menarik bagi pecinta permainan kartu online :
    ◙ Minimal DEPOSIT dan Withdraw Hanya RP. 20.000.-
    ◙ Jackpot Hingga Jutaan Rupiah Setiap Harinya
    ◙ Cashback Mingguan 0.5%
    ◙ Bonus Refferal 20%

    Untuk Info Lebih Lanjut Bisa Saja Langsung Hubungi Costumer Service kami di :
    LiveSupport 24JAM.
    ◙ Livechat : https://goo.gl/UdJZKT
    ◙ Skype : jessy wijayatan
    ◙ Phone : +85577597038
    """

    ReplyDelete
  9. Good work…unique site and interesting too… keep it up…looking forward for more updates.Good luck to all of you and thanks so much for your hard-work.
    asi legal bangalore, asi legal,asi legal cochin,Shahul hameed

    ReplyDelete
  10. Anda pecinta Judi Online??, ingin mendapatkan kemenangan yang besar dengan modal 25rb saja??, dan ingin mendapatkan jackpot serta bonus yang besar setiap harinya??, maka daftarkan diri anda disalah satu situs judi online yang sudah terpercaya di Indonesia.

    1 mandiridomino.net
    2. qqkompas.net
    3. dadudomino.com
    4. dewadominoqq.net
    5. dewajudiqq.net
    6. vipmandiriqq.net
    7. bandarjudiqq.org
    8. pemainbandarq,info

    Untuk semua situs judi online di atas menawarkan permainan DominoQQ, BandarQ, Poker Online, Capsa Susun, Bandar Poker, Sakong Online

    Dan jika anda ingin melakukan permainan Judi Casino, Judi Togel dan Judi Bola, maka bisa mengunjungi website dibawah ini.

    1. indototo88.net
    2. mastercasino88.com

    ReplyDelete
  11. nice blog

    We Are also providing Web Designing Company in Bangalore - Vistas is one of the top website design companies and our Web Designers deliver premium Web Design Services in Bangalore

    ReplyDelete
  12. stunning, there is a long way to go here. On account of just for sharing the articles.summer school holidays Ireland

    ReplyDelete
  13. i like your thoughts that you describe in your post
    fluente no ingles

    ReplyDelete
  14. Very good post amazing content i bookmarked you site for upcoming amazing posts.

    city of Longmont weed

    ReplyDelete
  15. thanks for this post very interesting content
    japanese rice hat

    ReplyDelete
  16. You have completed an awesome activity. I will burrow it and actually prescribe to my companions. I am sure they will be profited from this site



    http://arizonaast.org/index.php/cave-creek-arizona-lawyer-2/



    ReplyDelete
  17. Hi,

    Thanks for sharing a very interesting article about Can You Really Create A Business Logic Layer? This is very useful information for online blog review readers. Keep it up such a nice posting like this. Keep it up such a nice posting like this.

    Regards,
    WondersMind,
    Web Design Company Bangalore

    ReplyDelete
  18. This comment has been removed by the author.

    ReplyDelete
  19. This comment has been removed by the author.

    ReplyDelete
  20. This comment has been removed by the author.

    ReplyDelete
  21. Mae yna adegau pan fyddwch chi'n baglu ac mae'n( máy xông tinh dầu ) ymddangos nad ydych yn gallu sefyll a pharhau, ceisiwch, os gwelwch yn dda( máy phun sương tinh dầu ) cynilo a meddwl y bydd siarad da am fywyd weithiau'n( máy xông tinh dầu ) eich helpu i oresgyn( máy xông tinh dầu ) anawsterau, eich helpu i sefyll yn gadarn a mynd ymlaen. Mae'r erthygl ganlynol yn eich cyflwyno i fwy na 100 o eiriau prydferth am fywyd.

    ReplyDelete
  22. Tôi xin cảm ơn bạn. Vì đã tạo ra một bài viết rất hay và thú vị. Chúc bạn may mắn

    lều xông hơi loại nào tốt

    lều xông hơi cá nhân

    bán lều xông hơi

    mua lều xông hơi ở đâu

    ReplyDelete
  23. Nice..


    Freshpani is providing online water delivery service currently in BTM, Bangalore you can find more details at Freshpani.com
    Online Water Delivery | Bangalore Drinking Water Home Delivery Service | Packaged Drinking Water | Bottled Water Supplier

    ReplyDelete
  24. Chúc bạn tuần mới vui vẻ và hạnh phúc bên gia đình và những người thân yêu. Xin cảm ơn vì đã chia sẻ bài viết

    máy phun tinh dầu

    máy khuếch tán tinh dầu tphcm

    máy khuếch tán tinh dầu hà nội

    máy xông phòng ngủ

    ReplyDelete
  25. Tökezlediğiniz ve ayağa kalkıp(  taxi Nội Bài ) devam edemediğiniz( taxi noi bai ) gibi görünen zamanlar vardır, lütfen bazen( taxi sân bay nội bài rẻ nhất )  zorlukların üstesinden gelmenize yardımcı olacak, yaşamınızla(số điện thoại taxi nội bài ) ilgili iyi ( taxi hàng không nội bài ) et. Aşağıdaki makale, yaşam hakkında 100'den fazla güzel kelime size tanıtır.

    ReplyDelete
  26. Nội Thất Trẻ Em Bảo An Kids là doanh nghiệp chuyên thiết kế và thi công các sản phẩm nội thất trẻ em bao gồm: Phòng ngủ trẻ em, Giường tầng, bàn học đẹp, kệ sách, bàn học hiện đại, Một số câu hỏi khi sử dụng giường tầng

    ReplyDelete
  27. Thanks for sharing this article
    "Sanjary Academy provides excellent training for Piping design course. Best Piping Design Training Institute in Hyderabad,
    Telangana. We have offer professional Engineering Course like Piping Design Course,QA / QC Course,document Controller
    course,pressure Vessel Design Course, Welding Inspector Course, Quality Management Course, #Safety officer course."
    Piping Design Course in India­
    Piping Design Course in Hyderabad
    Piping Design Course in Hyderabad
    QA / QC Course
    QA / QC Course in india
    QA / QC Course in Hyderabad
    Document Controller course
    Pressure Vessel Design Course
    Welding Inspector Course
    Quality Management Course
    Quality Management Course in india
    Safety officer course

    ReplyDelete
  28. This comment has been removed by the author.

    ReplyDelete
  29. Pada kesempatan kali ini saya ingin merekomendasikan kepada para bettor Indonesia untuk mencoba keberuntungannya dengan bermain di salah satu agen IDN Poker Online Terpercaya Indonesia yaitu Nonapoker. Meskipun masih tergolong baru di dunia judi online, namun situs berdiri sejak tahun 2019 tersebut juga menawarkan beragam jenis permainan poker IDN secara lengkap kepada para bettor Indonesia. Contohnya seperti :
    - Poker Online
    - DominoQQ
    - Capsa Susun Online
    - Ceme
    - Ceme Keliling
    - Super10
    - Omaha

    Selain menyediakan permainan karu online secara lengkap, situs judi online terbaik dan terpercaya di Indonesia tersebut juga menawarkan berbagai varian bonus promo menarik lainnya yang bisa diperoleh oleh para bettor Indonesia. Sebu saja bonus promo seperti :
    - Bonus Referral
    - Bonus Turnover
    - Bonus Cashback
    - Bonus Kejutan lainnya

    Untuk menciptakan kenyamanan bermain para members, situs nonapoker telah menyediakan beberapa layanan komunikasi populer lainnya, Contohnya seperti :
    - Line
    - Whatsapp
    - Skype
    - Wechat

    Selain itu, untuk mempermudah proses bertransaksi para bettor, situs Nonapoker juga telah menyediakan akun rekening dari beberapa bank ternama di Indonesia, yaitu :
    - Bank BCA
    - Bank BRI
    - Bank BNI
    - Bank Panin
    - Bank Danamon
    - Bank Mandiri
    - Bank CIMB Niaga

    Bagaimana menurut anda, apakah tertarik segera bergabung dengan situs Nonapoker? Untuk itu segeralah kunjungi dan daftarkan diri anda di agen poker Indonesia tersebut dengan menggunakan link yang akan saya berikan dibawah ini.
    - http://69.16.199.120/
    - https://nonapoker1.club/
    - http://nonapoker.biz/

    ReplyDelete
  30. Post is good and informative. You can check them out here -

    Website Designer in Bangalore


    ReplyDelete
  31. Thank you for Sharing a valuable information, We also provide the best Web design and development services to reach your Business goal. For more details visit here Web design company in Bangalore

    ReplyDelete
  32. Chúng ta đều biết nguồn máy tính là một trong những thiết bị không thể thiếu của một máy tính để bàn trọn bộ. Chính vì vậy, để đảm bảo một máy tính để bàn hoạt động tốt hoặc ít nhất để giảm thiểu tối đa các linh kiện máy tính khác có đầy đủ điện năng khi “hoạt động” thì một bộ nguồn máy tính cần phải “khỏe”- điều này cũng có nghĩa là nếu bộ nguồn máy tính của một máy tính bị hỏng thì chiếc máy tính đó sẽ không thể hoạt động được nữa.Vậy cách duy nhất để duy trì cũng như kéo dài tuổi thọ của máy là không cố sử dụng máy tính khi nguồn máy tính đã bị hỏng. Và nhận biết những dấu hiệu cảnh báo nguồn máy tính sắp hỏng sẽ giúp bạn có những phương án kịp thời để xử lý.
    Những dấu hiệu cảnh báo nguồn máy tính cũ sắp hỏng

    ReplyDelete
  33. Techiesys is a seo company in Bangalore that works efficiently with its clients.

    ReplyDelete
  34. We are a Seo Firm Bangalore.Our Senior SEO Consultant has 10+ years of experience, offers services like SEO, PPC, SMM, online reputation management & web development both to small and medium companies. As a running offer, we are providing free performance audit for our customers.

    ReplyDelete
  35. Spesial Promo Khusus Member Setia Di Situs CrownQQ
    Yuk Buruan Daftar Dan Mainkan 9 Game Berkualitas Hanya Di Situs CrownQQ
    Agen BandarQ Terbesar Dan Terpercaya Di indonesia
    Rasakan Sensasi serunya bermain di CrownQQ, Agen BandarQ Yang 100% Gampang Menang
    Games Yang di Hadirkan CrownQQ :
    * Poker Online
    * BandarQ
    * Domino99
    * Bandar Sakong
    * Sakong
    * Bandar66
    * AduQ
    * Sakong
    * Perang Baccarat (New Game)

    Promo Yang Hadir Di CrownQQ Saat ini Adalah :
    => Bonus Refferal 20%
    => Bonus Turn Over 0,5%
    => Minimal Depo 20.000
    => Minimal WD 20.000
    => 100% Member Asli
    => Pelayanan DP & WD 24 jam
    => Livechat Kami 24 Jam Online
    => Bisa Dimainkan Di Hp Android
    => Di Layani Dengan 5 Bank Terbaik

    << Contact_us >>
    WHATSAPP : +855882357563
    LINE : CS CROWNQQ
    TELEGRAM : +855882357563


    Link Resmi CrownQQ:
    RATUAJAIB. COM
    RATUAJAIB.NET
    RATUAJAIB.INFO

    DEPOSIT VIA PULSA TELKOMSEL | XL 24 JAM NONSTOP

    CROWNQQ | AGEN BANDARQ | ADUQ ONLINE | DOMINOQQ TERBAIK | DOMINO99 ONLINE TERBESAR

    ReplyDelete
  36. Thanks for share this article. I would like to share this post click here to know more Scientific Publishers

    ReplyDelete
  37. Fantastic post, very informative. I wonder why the other specialists of this sector do not notice this. You must continue your writing. I am sure, you have a great writer. keep posting!

    ReplyDelete
  38. Thanks for sharing an informative blog keep rocking bring more details for us.I like the helpful information for us you provide in this article. Very high quality content and useful information!

    ReplyDelete
  39. It was such a valuable information. Thank you for sharing.
    Web Design Company in Delhi

    ReplyDelete
  40. JAGUARQQ | DOMINO 99 | POKER | BANDARQ ONLINE

    * Dengan Minimal Deposit : Rp 15.000,-
    *Menyediakan Deposit Via OVO & PULSA ( XL & TELKOMSEL )
    * Tersedia 9 Game Dalam 1 User ID
    + BandarQ
    + ADUQ
    + SAKONG
    + DOMINO99
    + BANDAR66
    + POKER
    + BANDAR POKER
    + CAPSA SUSUN
    + PERANG BACCARAT

    * Bonus Rollingan 0,5% Setiap minggu
    * Bonus Referal 20% Seumur hidup

    - Kontak Kami -
    WA : +855964608606
    TELEGRAM : +855964608606
    LINE : csjaguarqq
    Website : 99jaguar

    BACA JUGA BLOGSPOT KAMI:
    Teman Wisataa
    JaguarQQ Win
    Gamess Online99
    Gosip99
    Cerita Bokep99

    ReplyDelete
  41. Nice post and it's informative too. Thanks for sharing your knowledge and you can also check ecommerce website development in bangalore.

    ReplyDelete
  42. İdeasoft N11 Entegrasyonu ile ürünlerinizi koaly ve pratik bir şekilde ürünlerinizi entegre edin.

    ReplyDelete
  43. Very high quality content and useful information!


    UPLAY365

    ReplyDelete
  44. SIAUAE is one of the top audit firms in UAE with highly experienced professionals. As a leading Audit Firms in UAE , we achieved the label of best tax consultant in UAE.Our CA services Will help you.

    We providing the best VAT consultancy services in UAE .As a leading VAT Consultants in UAE , we achieved the label of best VAT consultant in UAE.

    Looking for the top accounting firms in UAE? SIAUAE is the best Accounting Firms in UAE , we offer comprehensive professional services in UAE.

    SIAUAE management consultancy is a professional Management Consultancy UAE , Helping clients achieve their business goals. For more details call us now.

    ReplyDelete
  45. CrownQQ Agen DominoQQ BandarQ dan Domino99 Online Terbesar

    Yuk Buruan ikutan bermain di website CrownQQ

    Sekarang CROWNQQ Memiliki Game terbaru Dan Ternama loh...

    9 permainan :
    => Poker
    => Bandar Poker
    => Domino99
    => BandarQ
    => AduQ
    => Sakong
    => Capsa Susun
    => Bandar 66
    => Perang Baccarat (NEW GAME)

    => Bonus Refferal 20%
    => Bonus Turn Over 0,5%
    => Minimal Depo 20.000
    => Minimal WD 20.000
    => 100% Member Asli
    => Pelayanan DP & WD 24 jam
    => Livechat Kami 24 Jam Online
    => Bisa Dimainkan Di Hp Android
    => Di Layani Dengan 5 Bank Terbaik
    => 1 User ID 9 Permainan Menarik

    Ayo gabung sekarang juga hanya dengan
    mengklick daftar crownqq

    Link Resmi CrownQQ:
    eurohoki,com
    eurohoki,net
    eurohoki,org
    eurohoki,info

    BACA JUGA BLOGSPORT KAMI:
    Info CrownQQ
    CrownQQWIN
    Berita dan Info Dunia

    Info Lebih lanjut Kunjungi :
    WHATSAPP : +6287771354805
    LINE : CS CROWNQQ
    TELEGRAM : +855882357563

    ReplyDelete
  46. Good Blog, thanks for sharing
    Today the companies are continually being challenged to reduce the expenses, most of working expenditures and other requirements. The main costs include the salary of employees like HR professional, accountant, auditors and administration. These problem can be overcome by best expert business outsourcing company. They provide quality and valuable services at low cost for the business enterprises. In UAE most of accounts payable outsourcing companies offers cost effective accounting services that will help the companies effectively in the current situation.
    Audit firms in UAE

    ReplyDelete
  47. Good Blog, thanks for sharing
    the intensity of smells can't be exaggerated. Smell has such a solid association with one's passionate express that it revives the recollections that went with our experience, in a few occasions, returning over numerous years. A deliberately built fragrance can lift one's state of mind, and places one out of a positive and innovative outlook. Our fragrance arrangements give you a chance to make the ideal experience for your customers and associates – one in which they remain drew in and associated.
    Aroma diffuser

    ReplyDelete
  48. ISO Certification in Delhi – Genveritas a global ISO Certification Consulting firm represents considerable authority in tweaked and result-situated answers for assisting organizations to actualize change and improve business execution.

    Neuro Doctors are a cohesive group of Top Neurosurgeon in Bangalore Neurologists, Intervention Neuroradiologist, pain management specialists who work together to provide comprehensive neurosciences care to our patients.

    KEEN SEO Agency – Best Web Design Company in Bangalore . We provide full-service Web Design & Development Solutions that also includes specialized SEO services for Small Businesses. We offer Strategist Local SEO, Ecommerce SEO, website auditing, Paid Search (PPC) strategies including Google Ads, Facebook & Linked In Ads for Small Business (B2B & B2C).

    ReplyDelete
  49. This blog is useful as well as informative. Keep sharing such blogs I really like your posts.
    web development
    App development
    Digital marketing agency

    ReplyDelete

  50. Sakurapoker juga memberikan kemudahan bertransaksi seperti deposit 24 jam semua bank seperti bca, bni, mandiri, bri dan cimb. Semua transaksi akan diproses tanpa adanya jam offline, transaksi tidak akan diproses jika posisi bank sedang gangguan.

    Support Deposit Poker Online OVO, Gopay, Dana dan Link

    ReplyDelete
  51. When you go for creating a website, you need to do so with care because you want the website to not only be user-friendly but also very attractive. In this regard, you will find plenty of options available to you. You can either download free software that offers a great many functions to make your website appealing or you can hire the services of professional website Design Company in Bangalore.
    Web Development Company in Bangalore

    ReplyDelete
  52. Yorinfopoint basically provides educational content like application letter format, writing skills, and more. You will find informative articles. Our website published articles only for your search easier.
    Letter and Writings
    Paragraph Writing
    Types of Nouns
    Inofmral Letter
    Parts of Speech

    ReplyDelete
  53. Good article about Programming in database.
    Being a best website designing company in Faridabad, we are focused on the online success and growth of our clients by providing them nice website design and website development process, whether it is technical or design glitch we always push our boundaries to create unique and innovative ideas for your desired goals. But that is crucial to have a Website Design that justifies your Image. So we have Best Web designers, Web Developers, and project managers who provide expertise in the area of Website development in the most creative and supportive manner.

    ReplyDelete
  54. Good and informative article.Give a good exposure over database programming.
    we provide web design services.we are no.1 website design and development company in faridabad,delhi/ncr

    ReplyDelete
  55. Software development company in Noida team has to perform in accord with the client's engineering team for ideal results. Techsaga Corporations address this facet of the software development process most aggressively with our streamlined and well-planned resources.

    ReplyDelete
  56. the blog or and best that is extremely useful to keep I can share the ideas
    of the future as this is really what I was looking for, I am very comfortable and pleased to come here. Thank you very much.

    Best SEO Company in Bangalore|
    SEO Services Company In Bangalore|
    SEO Services In Bangalore|
    SEO Agency In Bangalore|

    ReplyDelete
  57. Thanks for sharing valuable information and very well explained. SEO Services in BangaloreKeep posting. SEO Company in Bangalore

    ReplyDelete
  58. Nice article. Thank you for this informative post. If you are looking for SEO expert in Bangalore then contact Deep Bhardwaj. We have 7+ years of experience in providing the best SEO services in Bangalore.

    ReplyDelete
  59. Nice post really useful information. We are a leading SEO service provider in Bangalore. Contact us for the best SEO services in Bangalore.

    ReplyDelete
  60. Nice post it is really an interesting article we are also providing the web design services in mumbai. We are the leading
    website development company in mumbai
    web design company in mumbai

    ReplyDelete
  61. Is your business looking for an SEO expert in Delhi? Hire Delhi SEO expert to get more organic traffic and get first-page ranking in Google. Visit our website and request a free SEO consultation today.

    ReplyDelete
  62. Thanks for sharing.
    We at Antino Labs believe in redefining and refining our model to suit the industry's requirements. Antino Labs' several years of experience in the market has let us register our global presence. Antino Labs' has the vision to become the world's most trusted partner for digital transformation and we aim to become a brand that defines innovation and the latest technology. We offer clients a one-stop solution for all their interests regarding IT consulting services in Gurgaon and UI/UX design services in Gurgaon.

    ReplyDelete
  63. ISO 27001 is basically- “ISO 27001 – Information science — Security methods — Information protection administration structures — Requirements.” In easy terms,ISO 27001 Certification in Dubai is the most regarded worldwide preferred on statistics security. These certificates are issued through the International Organization for Standardization (ISO), in collaboration with the International Electro-Technical Commission (IEC).

    ReplyDelete
  64. ISO 22000 Certification in Dubai

    Certvalue is the top ISO 22000 Consultants in Dubai for providing ISO 22000 Certification in Burj Khalifa, Burj Al Arab, Ajman, Sharjah,Al Ain and other major Cities in Dubai with services of implementation.

    ReplyDelete
  65. CE Mark Consultants in Dubai required declaration of product properties is laid down in European norms (EN) standards issued by CEN European commission for standardization. You can find information on CE marking tailored for manufacturers, importers, distributors and consumers.
    https://www.certvalue.com/ce-mark-certification-in-dubai/

    ReplyDelete
  66. The Global Associates is a unique full service sales and marketing organization offering Customized Strategic and Tactical Sales Solutions to Organizations, Globally.

    B2B Lead Generation and Appointment Setting Services, Tele sales Companies, Inside Sales Outsourcing Companies.

    Lead Generation and Appointment Setting Services

    ReplyDelete
  67. The AEC Associates is the pioneer in offering Design Support Services across the Global Architecture, Engineering, and Construction Industry. Our team has over 100 Architects, Engineers, Interior Designers, and CAD Technicians. The senior management at The AEC Associates has 75 years, of collective experience in setting up cutting edge operational processes and communication regimes. With the right mix of talent and domain expertize, we have designed a seamless process to offer Architectural CAD and BIM services globally.

    ReplyDelete
  68. ISO 9001 Certification in Bangalore


    ISO 9001:2015 is a worldwide commonplace that sets the needs for a powerful Quality Management System. It details specific processes, procedures, and activities that organizations should produce, implement, maintain and improve to with success manage creating products or delivering services.

    ReplyDelete
  69. ISO 14001 Certification in Saudi Arabia
    ISO 14001 Certification in Saudi Arabia is a world standard that outlines the necessities for an economical environmental management system (EMS); thus, obliging with this commonplace permits a corporation to boost its environmental performance following an internationally recognized protocol Developing associate EMS helps firms and organizations to spot, monitor, manage and control environmental problems during a comprehensive manner.

    ReplyDelete
  70. Great article you have there! tree service text

    ReplyDelete
  71. Master Infotech is an IT services firm that provides a wide range of services. We intend to maintain high commitment, dependability, and innovation standards in the future. To establish ourselves as a leading name in the industry, we make it a priority to deliver world-class quality with absolute precision.
    Our team of experts creates custom work plans that take into account the competitive market.

    We strive to bring excellence to all of our complex projects in an agile manner, framing and amplifying exceptional capabilities. We lead in an unconventional way in these times of rapid technological change.

    Please click the following link to learn more about Digital Marketing:

    Best Digital Marketing Agency in Chandigarh

    ReplyDelete
  72. Working as a freelance C++ game developer is quite easy compared to being a full-time employee. It will save your time and help you focus more, and get you better projects. C++ game development is a rewarding and fulfilling career option when you have an eye for the game development and the mind of a coder.

    ReplyDelete
  73. Dobra web stranica : One Piece
    Dobra web stranica : Profil
    Dobra web stranica : One Piece
    Dobra web stranica : One Piece
    Dobra web stranica : One Piece
    Dobra web stranica : One Piece
    Dobra web stranica : Logo
    Dobra web stranica : One Piece

    ReplyDelete
  74. Tamil Astrology is an Occult Science that tells us about that deep rooted connection between the celestial bodies and human beings.

    ReplyDelete
  75. Amazing article. It's very useful.
    It looks like you have put lot of work into this.
    SMARS designs jewelry to run along with your ever-changing wardrobe. A piece of Jewelry can either make or break your entire look; therefore, every unique outfit needs a different piece of jewelry to compliment it. But looking at the prices of traditional jewelry, we usually find occasions like festivals or ceremonies to buy it. And these adorable pieces spend most of their lives in the lockers. Komal, the founder of SMARS, understood this gap in the market. Every single piece is limited edition and walks hand-in-hand with trends. Adored by customers from all over the world, we ensure the quality delivery of our high-end, Indian fashion costume jewelry. Shop online for latest collection of Kundan, antique and temple jewelry in India check out necklace sets, earrings, bangles, chokers for girls and many more Indian jewelry sets for women available with free shipping across India.
    Take a look: Bangles Set Online

    ReplyDelete
  76. A Professional ISO consultancy company in Coimbatore - ENN Consultancy. We provide iso 9001, iso 22000, iso 14001 consultants Services, and Training in Salem, Erode, Tirupur, Trichy, Madurai, Karur, and Chennai.
    Visit EnnConsultancy

    ReplyDelete
  77. Establish a training system for hands-on training and theoretical knowledge in the field of Clinical Embryology and in ART laboratory management. The Embryologist certification is presently based on trust regarding students and their supervisors, stating that participants have a threshold experience period for about 3 to 6 years and a minimum number of completed protocols (50 from each of the nine core laboratory methods of ART)

    ReplyDelete
  78. Dixinfotech is the fastest growing. ecommerce web development company india. We have a talented team consisting of designers, engineers and project managers, we excel in providing end-to-end solutions within your budget, goals and timeline.


    https://www.dixinfotech.com/ecommerce-website-development

    ReplyDelete
  79. Dixinfotech is the fastest growing. ecommerce web development company india. We have a talented team consisting of designers, engineers and project managers, we excel in providing end-to-end solutions within your budget, goals and timeline.

    ReplyDelete
  80. nice blog.
    Get backlinks at lowest price and 50% off on seo services and website design call or what's app +918013470356

    ReplyDelete
  81. It's always fascinating to explore different viewpoints in the field, and I will certainly delve into Toon Koppelaar's explanation for a deeper understanding. Diversity of opinions, including those related to custom web design, often leads to valuable insights.

    ReplyDelete
  82. Thanks a bunch! Your input is truly valuable
    For Visit nicotine free vape juice

    ReplyDelete
  83. CodeRenwoned is a top-rated SEO company in Bangalore that offers result-oriented SEO services across India, the USA, the UK, and Australia. Get guaranteed organic growth with CodeRenwoned.

    ReplyDelete
  84. I really impressed from the blog and i have found some really informative stuff. Keep sharing the good stuff. iso consultancy services

    ReplyDelete
  85. Great insights on creating business logic! Understanding the balance between coding and logic is crucial for developers. For businesses looking to enhance their online presence, collaborating with a reliable Seo agency in dubai can optimize their strategies. Additionally, leveraging Digital marketing agencies in dubai ensures effective implementation of business logic in digital platforms.

    ReplyDelete
  86. This blog's entries are all generally top-notch and successful.

    ReplyDelete
  87. I am really excited to read this post. Thank you, and keep going.

    ReplyDelete
  88. I am in fact glad to read this webpage posts which consists of plenty of useful information,

    ReplyDelete
  89. These are really wonderful ideas in regarding blogging.

    ReplyDelete
  90. You have touched some pleasant factors here. Any way keep up wrinting

    ReplyDelete
  91. We appreciate you providing this useful information with us all.

    ReplyDelete
  92. Wonderful blog you have created here.

    ReplyDelete
  93. I enjoy what you guys are up too. This kind of clever work and reporting

    ReplyDelete
  94. Keep up the superb works guys I've included you guys to my blogroll.

    ReplyDelete
  95. Great insights on the challenges of creating business logic! Your examples make the topic so much easier to grasp. Thanks for sharing your expertise—looking forward to more posts like this! abogado flsa nueva york

    ReplyDelete
  96. I am really enjoying reading your well written articles. It looks like you spend a lot of effort and time on your blog. I have bookmarked it and I am looking forward to reading new articles. Keep up the good work.
    web design company in new york

    ReplyDelete

  97. Hello. excellent job. I did not anticipate this. This is a splendid articles. Thanks!

    ReplyDelete
  98. Thanks for the great topic! A business logic layer streamlines processes, boosts efficiency, and keeps data, app, and UI layers distinct. Business can get ISO certification

    ReplyDelete
  99. You've got really shared a informative and interesting blog post with people

    ReplyDelete
  100. Nice post! This is a very nice blog that I will definitively come back. Thanks

    ReplyDelete
  101. Nicely researched and presented. Thanks for delivering genuine info

    ReplyDelete
  102. Hello. magnificent job. I didn't expect this. This is a fantastic story. Thanks!

    ReplyDelete
  103. Thanks to this blog my exploration has ended.

    ReplyDelete
  104. Very nice blog, Thanks for sharing great article.

    ReplyDelete
  105. I look forward to reading many articles from you. It's really great and informative.

    ReplyDelete
  106. Thank you for some other informative blog. Keep on writing, you're awesome!

    ReplyDelete
  107. Origins AI delivered more than promised! Their cloud expertise helped us future-proof our IT infrastructure. Integration was smooth, support was excellent and results were immediate. Great experience working with them.
    Enterprise cloud integration

    ReplyDelete