Architektura Klient-Serwer
Ostatnimi czasu wiekszość świata przechodzi na architekture Klient-Serwer. Jest to związane z wieloma korzyściami dla obu stron, klienta i dostawce. Dostawca ma wiekszą kontrole nad swoim oprogramowaniem, może łatwiej poprawiać i auktualniać swój produkt. Sama logika biznesowa jest po stronie serwera, niedostępna w żadnej formie binarnej czy źródłowej co uniemożliwia reverse enginering oraz oszustwa licencyjne.
Renesans kodu binarnego.
Po wielu latach fascynacji pseudo-kodem świat zaczyna tęsknić za kodem binarnym. Ma wiele zalet takich jak szybkość wykonywania spowodowany brakiem interpretacji pseudo-kodu, lepsze możliwości optymalizacji ponieważ kompilator nie musi działać szybko, może pozwolić sobie na mozolną analize kodu, gdyż robi to się raz a później wykonuje tylko kod maszynowy. Dodatkowo forma binarna utrudnia reverse enginering oraz oszustwa licencyjne.
Separacja interfacu
Zmiany w IT w tej chwili są tak dynamiczne, że nigdy nie wiadomo kiedy coś się kończy a kiedy zaczyna. Łatwo można przeoczyć jakąś rewolucje. Dzięki separacji interfacu zawsze można szybko i łatwo dostosować swoje oprogramoawnie do każdego środowiska, systemu bez konieczności kosztownego przepisywania logiki. Dodatkowo pozwala to na owijanie rdzenia w dodatkowe funkcjonalności. Dzięki technologi XML każdy system potrafi też szybko i łatwo wymienić dane.
Separacja interfacu
Po napisaniu i przetestowaniu oprogramowania bazodanowego cieżko jest zmienić silnik bazy danych ponieważ wiąże się to z zrewidowaniem wszystkich zapytań bazodanowych. Często prowadzi to do uzależnienia się od jakiegoś dostawcy, do dodatkowych kosztów licencyjnych oraz sprzętowych. Dzięki separacji bazy danych od logiki i interfacu w łatwy sposób można to zmienić. Dodatkowo pozwala to na łatwą integracje z innymi systemami informatycznymi.